我正在尝试向公共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>
</system.web>
- 我尝试在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的时候遇到了错误(错误: ReadTimeout = 'fileStream.ReadTimeout' 抛出了一个 'System.InvalidOperationException' 异常) 。我该如何读取大文件(.BAK)?