我正在尝试上传大文件,大小超过28 MB(这是.net核心中的默认请求大小)。我有很多文章和官方文件,但没有任何运气。我试过用html格式:
<form asp-action="Upload" asp-controller="Media" method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple id="inputId" />
<button type="submit">Ok</button>
</form>
和jQuery AJAX reuqest:
function uploadFiles(inputId) {
var input = document.getElementById('inputId');
var files = input.files;
var formData = new FormData();
for (var i = 0; i != files.length; i++) {
formData.append("files", files[i]);
}
$.ajax({
url: "/uploader",
data: formData,
processData: false,
contentType: false,
type: "POST",
success: function (data) {
alert("Files Uploaded!");
}
});
};
我的行动如下:
[DisableRequestSizeLimit]
public class MediaController : Controller
{
[HttpPost]
public async Task<IActionResult> Upload(IEnumerable<IFormFile> files)
{
}
}
这是我的代码的一部分,对不起,如果有一些类型-o。当我在本地运行它时,没有问题,我能够上传大到28mb的文件,但是当我在Azure Web App上发布它时,我无法上传大于28mb的文件。它会引发404.13错误。试图更改startup.cs和program.cs以添加表单选项和请求正文大小限制,但没有成功。然后我尝试了不同的方法,打开ftp并手动更改了web.config文件(为请求体大小等添加了一些xml代码行)。经过这些更改后,一切正常。经过几天试图自己弄清楚,决定发表一篇文章与我的问题。如果有人有解决方案,请分享。 谢谢你们。