Javascript 桌面图像拖放;拖放上载崩溃浏览器
我有一个通过ajaxForm上传图片的表单。我已经实现了一个功能,用户可以从桌面拖放照片(HTML5拖放)。如果照片是“小”的,每件事都很好——比如说2mb。当我试图上传大于4mb的照片时,问题出现了。Chrome浏览器崩溃 AjaxFormJavascript 桌面图像拖放;拖放上载崩溃浏览器,javascript,jquery,ajax,google-chrome,asp.net-mvc-4,Javascript,Jquery,Ajax,Google Chrome,Asp.net Mvc 4,我有一个通过ajaxForm上传图片的表单。我已经实现了一个功能,用户可以从桌面拖放照片(HTML5拖放)。如果照片是“小”的,每件事都很好——比如说2mb。当我试图上传大于4mb的照片时,问题出现了。Chrome浏览器崩溃 AjaxForm $(document).ready(function() { $("#uploadForm").ajaxForm({ iframe: true, dataType:"json", beforeSubm
$(document).ready(function() {
$("#uploadForm").ajaxForm({
iframe: true,
dataType:"json",
beforeSubmit: function () {
$("#post .button.save").prop("disabled",true).val("Uploading...");
},
success: function (result) {
$("#FilePhotoString").val("");
$("#post").css({
"background": 'url(' + result + ') no-repeat center center',
"display": "block",
"height": $("body").height(),
"background-size": "cover"
});
$("img").attr("src",result).load(function() {
$('input[name="ImageFilePath"]').attr('value', result);
$("#post .button.save.now").prop("disabled",false).val("Publish now");
$("#post .button.save.later").prop("disabled",false).val("Publish later");
});
}
});
});
下降
成功返回的结果只是上传照片的路径。我能做些什么使浏览器不会崩溃呢?我认为这不是jquery/ajax/浏览器的问题。例如,如果您使用的是apache服务器,请检查php.ini中的“upload\u max\u filesize=2M”
默认大小为2mb,因此非常适合您的问题。如果您尝试上载超过2mb的数据,服务器会发送超时。采用另一种方法,例如使用并发送文件而不是字符串,怎么样
var data = new FormData(document.getElementById('#uploadForm'));
data.append('theNameYouWantToSend', event.dataTransfer.files[0]);
然后发送一个ajax请求
$.ajax({
url:'theurl',
type:'post',
data: data,
contentType:false,
processData:false,
...
});
这不是服务器端的问题。我们得到了10米的介电常数。
$.ajax({
url:'theurl',
type:'post',
data: data,
contentType:false,
processData:false,
...
});