【发布时间】:2018-02-05 19:02:07
【问题描述】:
我正在尝试使用https://dropfile.to/api API 服务。我需要有基本上获取 IFormFile 并将其上传到 API 的文件上传表单。问题是我收到状态为 2 的奇怪请求,这意味着“未知错误”。在他们的网站上说我应该使用:
curl -F "file=@screenshot.jpg" https://d1.dropfile.to/upload
如何在 ASP.NET 中执行这样的操作?我尝试了在这个网站上找到的所有解决方案,但都没有奏效。
到目前为止我得到了什么:
public static async Task<HttpResponseMessage> PostFile(string address, IFormFile file)
{
using (var client = new HttpClient())
{
using (var binaryReader = new BinaryReader(file.OpenReadStream()))
{
var data = binaryReader.ReadBytes((int)file.OpenReadStream().Length);
var bytes = new ByteArrayContent(data);
var multiContent = new MultipartFormDataContent {
{
bytes, "file", file.FileName
}
};
return await client.PostAsync(address, multiContent);
}
}
}
仅 HTML 表单的工作版本:
<form action="https://d3.dropfile.to/upload" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" id="files" multiple="multiple">
<input type="submit">
</form>
我无法使用 HTML 表单版本,因为我会跟踪上传的文件。
有效响应:
{
"files": [
"eBooks.txt",
"znOu9ZB",
"wUFTssk",
"14323"
],
"status": 0,
"url": "https:\/\/dropfile.to\/znOu9ZB",
"access_key": "wUFTssk"
}
响应失败:
{
"files":{
"1":"ZW2FSA8",
"2":"XzBpM6w"
},
"status":2
}
谢谢。
【问题讨论】:
标签: asp.net-mvc asp.net-core asp.net-core-mvc