Ajax 大文件的 FormData 回调失败
Ajax callback with FormData fails for large files
我有一个 input file
控件,我可以在其中上传 any kind
文件。
因此,我正在获取文件和 storing in a FormData
并向我的控制器发送 ajax call
。
它适用于图像和小型 .mp3 文件。
但是当我上传超过 5MB 的 .mp3 文件时,它会进入错误函数
我的代码是这样的:
document.getElementById('fileUploadControl').onchange = function () {
var data = new FormData();
var files = $("#fileUploadControl").get(0).files;
for (var i = 0; i < files.length; i++) {
data.append("UploadedImage" + i, files[i]);
}
var ajaxRequest = $.ajax({
url: '/Main/BroadcastFileUpload/',
data: data,
cache: false,
contentType: false,
processData: false,
type: "POST",
success: LoadImages,
error: OnLogoFail
});
ajaxRequest.done(function (xhr, textStatus) {
});
};
<input type="file" multiple id="fileUploadControl" style="width:0px;height:0px" />
谁能帮我解决这个问题?
这主要是因为服务器端 post 限制。出于安全考虑,它们具有默认大小。如果您使用 Tomcat,您可以在 server.xml 中配置连接器以设置 maxPostSize。大多数默认值为 2MB。
适用于ASP、JSP或PHP的任何服务器。可能是配置文件可能不同。
document.getElementById('fileUploadControl').onchange=函数(){
var data = new FormData();
var files = $("#fileUploadControl").get(0).files;
for (var i = 0; i < files.length; i++) {
data.append("UploadedImage" + i, files[i]);
}
var ajaxRequest = $.ajax({
url: '/Main/BroadcastFileUpload/',
data: data,
cache: false,
contentType: false,
processData: false,
type: "POST",
success: LoadImages,
error: OnLogoFail
});
ajaxRequest.done(function (xhr, textStatus) {
});
};
是的...我找到了@artm solution.Thanks
我已经在 web.config
中更改了 maxRequestLength
<httpRuntime targetFramework="4.5" maxRequestLength="2097151" />
我有一个 input file
控件,我可以在其中上传 any kind
文件。
因此,我正在获取文件和 storing in a FormData
并向我的控制器发送 ajax call
。
它适用于图像和小型 .mp3 文件。
但是当我上传超过 5MB 的 .mp3 文件时,它会进入错误函数
我的代码是这样的:
document.getElementById('fileUploadControl').onchange = function () {
var data = new FormData();
var files = $("#fileUploadControl").get(0).files;
for (var i = 0; i < files.length; i++) {
data.append("UploadedImage" + i, files[i]);
}
var ajaxRequest = $.ajax({
url: '/Main/BroadcastFileUpload/',
data: data,
cache: false,
contentType: false,
processData: false,
type: "POST",
success: LoadImages,
error: OnLogoFail
});
ajaxRequest.done(function (xhr, textStatus) {
});
};
<input type="file" multiple id="fileUploadControl" style="width:0px;height:0px" />
谁能帮我解决这个问题?
这主要是因为服务器端 post 限制。出于安全考虑,它们具有默认大小。如果您使用 Tomcat,您可以在 server.xml 中配置连接器以设置 maxPostSize。大多数默认值为 2MB。
适用于ASP、JSP或PHP的任何服务器。可能是配置文件可能不同。
document.getElementById('fileUploadControl').onchange=函数(){
var data = new FormData();
var files = $("#fileUploadControl").get(0).files;
for (var i = 0; i < files.length; i++) {
data.append("UploadedImage" + i, files[i]);
}
var ajaxRequest = $.ajax({
url: '/Main/BroadcastFileUpload/',
data: data,
cache: false,
contentType: false,
processData: false,
type: "POST",
success: LoadImages,
error: OnLogoFail
});
ajaxRequest.done(function (xhr, textStatus) {
});
};
是的...我找到了@artm solution.Thanks
我已经在 web.config
中更改了maxRequestLength
<httpRuntime targetFramework="4.5" maxRequestLength="2097151" />