是否有一种方法可以使用System.Net.Http.HttpClient将大文件推送到远程服务器?
本文关键字:文件 HttpClient 服务器 Http Net 一种 System 可以使 方法 是否 | 更新日期: 2023-09-27 18:07:00
我正在尝试使用System.Net.Http.HttpClient:
将一个50 MB的文件推送到远程服务器private async void Transfer_Product_Upgrade_Package(object sender, RoutedEventArgs e)
{
await UploadFileAsync();
}
async Task UploadFileAsync()
{
string filename = @"C:'AccountView'AccountViewPublish'ProductPackage.zip";
Uri uri = new Uri("http://localhost:3748/api/UploadProductPackage/5");
using (var stream = File.OpenRead(filename))
{
var client = new HttpClient();
var response = await client.PostAsync(uri, new StreamContent(stream));
response.EnsureSuccessStatusCode();
}
}
我甚至没有到达目标服务器就得到了这个响应:
响应状态码不成功:413(请求实体太大)。
一个较小的文件正在使用相同的代码传输。
有没有办法处理更大的文件?
IIS 7默认最大上传文件大小约为28mb。对于更大的文件大小,您需要使用WebConfig配置IIS 7以允许更大的文件大小:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
</system.webServer>
, ASP。NET运行时有额外的限制。你可以在这里修改:
<system.web>
<httpRuntime maxRequestLength="2097152" />
</system.web>
点击此链接获取更多信息