gpt4 book ai didi

c# - MIME 多部分流意外结束。 MIME 多部分消息不完整。 Web API 和 super 代理

转载 作者:行者123 更新时间:2023-11-30 20:34:31 33 4
gpt4 key购买 nike

我在从客户端上传文件到 web api 时遇到问题。我收到此错误消息“MIME 多部分流意外结束。MIME 多部分消息不完整。”当我尝试读取多部分内容时在 Controller 中。我正在使用 superagent 构建一个 React JS 客户端,这是我的请求代码:

 UploadFiles(files: File[]): Promise.IThenable<any> {

return this.Post("/Payment/files" , {
data: {
files: files
},
headers: {
"Content-Type": "multipart/form-data; boundary=gc0p4Jq0M2Yt08jU534c0p",
"Content-Disposition": "form-data; name=Foo",
}
});
}

这是我的 Controller 代码:

[Route("files")]
[HttpPost]
public async Task<HttpResponseMessage> UploadFiles()
{
string root = Path.GetTempPath();
var provider = new MultipartFormDataStreamProvider(root);

Stream reqStream = Request.Content.ReadAsStreamAsync().Result;
MemoryStream tempStream = new MemoryStream();
reqStream.CopyTo(tempStream);

tempStream.Seek(0, SeekOrigin.End);
StreamWriter writer = new StreamWriter(tempStream);
writer.WriteLine();
writer.Flush();
tempStream.Position = 0;

StreamContent streamContent = new StreamContent(tempStream);
foreach (var header in Request.Content.Headers)
{
streamContent.Headers.Add(header.Key, header.Value);

}
try
{
// Read the form data.
streamContent.LoadIntoBufferAsync().Wait();

//This is where it bugs out
await streamContent.ReadAsMultipartAsync(provider);


return Request.CreateResponse(HttpStatusCode.OK);
}
catch (Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}

}

最佳答案

我认为这里的问题是由以下原因引起的:

headers: {
"Content-Type": "multipart/form-data; boundary=gc0p4Jq0M2Yt08jU534c0p",
"Content-Disposition": "form-data; name=Foo",
}

我有一个类似的问题,通过删除 header 参数解决了,我猜 superagent 会自动添加它们。

关于c# - MIME 多部分流意外结束。 MIME 多部分消息不完整。 Web API 和 super 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39124819/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com