我尝试使用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(请求实体太大)。
正在使用完全相同的代码传输较小的文件。
有没有办法处理更大的文件?
答案 0 :(得分:3)
默认的最大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>
查看此link了解详情。