【发布时间】:2020-04-10 05:18:05
【问题描述】:
我有一个文件上传功能,它接受多部分表单数据请求并将文件放入 AWS。它对于小文件工作正常,但当文件变得非常大时会失败。 (尚未测试到底有多大,但我们希望能够处理任何尺寸)。
这是我用来测试上传的 Linqpad 脚本:
const string filePath = @"C:\Users\josh.bowdish\Pictures\SmallFile.png";
const string contentType = "image/png";
//const string filePath = @"C:\Users\josh.bowdish\Pictures\ReallyBigFile.mp4";
//const string contentType = "video/mp4";
using (var httpClient = new HttpClient())
{
MultipartFormDataContent form = new MultipartFormDataContent();
var bytes = File.ReadAllBytes(filePath);
form.Add(new ByteArrayContent(bytes)
{
Headers =
{
ContentLength = bytes.Length,
ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType)
}
},"notused","not.used");
using (var response = await httpClient.PostAsync("http://localhost:52655/api/Storage/UploadAttachment", form))
{
response.EnsureSuccessStatusCode();
response.Content.Dump();
}
}
SmallFile.png 上传得很好,但ReallyBigFile.mp4 甚至没有访问我的本地服务。不过,它确实给我带来了 404 错误,这对我来说没有意义,因为服务端点没有改变。 我会发布接收方法的代码(api/Storage/UploadAttachment),但尝试用大文件调用它甚至不会在方法调用中遇到我的第一个断点。
到目前为止,我的谷歌搜索还没有得到很大的回报。任何指导将不胜感激!如果还有什么我可以提供的帮助解决这个问题,请告诉我!
谢谢,
~乔什
【问题讨论】:
标签: c# file-upload multipartform-data large-files