Javascript 桌面图像拖放;拖放上载崩溃浏览器

Javascript 桌面图像拖放;拖放上载崩溃浏览器,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

我有一个通过ajaxForm上传图片的表单。我已经实现了一个功能,用户可以从桌面拖放照片(HTML5拖放)。如果照片是“小”的,每件事都很好——比如说2mb。当我试图上传大于4mb的照片时,问题出现了。Chrome浏览器崩溃

AjaxForm

$(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,
    ...
});