我想上传一个大文件作为标准的多部分帖子。然而,我看到的所有C#示例通常都使用字节数组(需要将整个文件加载到内存中)。我可以看到有一个StreamContent类型,但我不清楚在多部分上传中嵌入会以最小的内存影响流式传输请求。
这里编码的是我所想的。
using (HttpRequestMessage request = new HttpRequestMessage (HttpMethod.Post, uploadURL)) {
MultipartFormDataContent multiPartContent = new MultipartFormDataContent ("----Abs23AawqrrqTbbSWpppo8--");
StreamContent streamContent = new StreamContent (new FileStream(path, FileMode.Open));
streamContent.Headers.Add ("Content-Type", "video/mov");
streamContent.Headers.Add ("Content-Length", new FileInfo(path).Length.ToString() );
multiPartContent.Add (streamContent, "bigMovie.mov", "bigMovie.mov");
request.Content = multiPartContent;
using (HttpResponseMessage response = await client.SendAsync (request)) {
// check status code
}
}
这是处理大型文件的多部分上传的正确方法,该文件太大而无法加载到内存中吗?
答案 0 :(得分:0)
以FTP方式进行操作会更有效率。 FTP代码也支持恢复模式。并且是更高效的文件上传协议