所以,基本上,我正在尝试通过发布请求发送文件。文件数据存储为字符串。
var fd = new FormData();
fd.append('fileString', file.attachmentString);
fd.append('fileName', file.fileName);
return $.ajax({
url: baseUrl + url,
data: fd,
cache: false,
processData: false,
contentType: false,
type: 'POST'
});
此功能最多可以使用21MB,然后在22MB +时失败
该请求将永远不会到达22MB +请求的控制器,而是返回状态为0的错误“错误”。
[HttpPost("SendFile")]
public async Task<int> AddFile(MyFileData fileData)
这是发布请求,下面是MyFileData
public class MyFileData
{
public string FileString { get; set; }
public string FileName { get; set; }
}
这一切都可以完美地运行到22MB,然后无法达到请求。有什么想法吗?
您可以增加文件长度限制值。
在.net核心中:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = 52428800; //50MB
});
}
并且在asp.net中,将这些代码添加到web.config中
<system.web>
<httpRuntime maxRequestLength="600000"/>
</system.web>