【发布时间】:2021-10-20 08:21:39
【问题描述】:
我正在尝试将文件发送到公共 IP。它在文件大小较小但我想发送较大的 .BAK 文件时工作。虽然我正在尝试发送少于 20-30 MB 的 .BAK 文件,但它的作品但不超过 30MB。
我尝试过:- 在 Web.config 中
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
</system.webServer>
//this also tried
<system.web>
<httpRuntime maxRequestLength="2097152" />
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD324E38" />
</assemblies>
</compilation>
- 我尝试增加 IIS 中的最大上传文件大小
string publicAPI = "https://localhost:44350/Upload/";
var directory = new DirectoryInfo("D:\\Database");
var fileName = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
Stream fileStream = System.IO.File.OpenRead(fileName.FullName); // here is error:ReadTimeout = 'fileStream.ReadTimeout' threw an exception of type 'System.InvalidOperationException'
try
{
using (var client = new HttpClient())
{
using (var formData = new MultipartFormDataContent())
{
formData.Add(new StreamContent(fileStream), "Mytic", fileName.Name);
var response = client.PostAsync(publicAPI, formData).Result;
if (response.IsSuccessStatusCode )
{}
else
{}
}
}
}
我在 fileStream 中遇到错误(error: ReadTimeout = 'fileStream.ReadTimeout' 引发了类型为 'System.InvalidOperationException' 的异常) .如何读取大文件(.BAK)?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-core asp.net-web-api