禁用jQuery-File-Upload的拖放功能

时间:2014-06-03 17:36:19

标签: javascript jquery ajax file-upload

我在我的网页上使用了ajax文件上传器。 https://github.com/blueimp/jQuery-File-Upload

我使用一个控件进行图片上传,另一个用于文件上传,两者都在同一页面上。

我已添加验证以检查两个文件上传器中的文件类型,但是当我将简历拖放到我的文件上传器上时,它将捕获图像上传器事件。

我想禁用图片上传器的拖放功能,以便在我拖动简历时不会触发。

这是我的代码,

$(function () {

        var userId = $("#CandidateProfile_user_id").val();    
        var url = 'index.php?r=fileUpload/uploadResume';
        $('#resumeUpload').fileupload({
            add: function(e, data) {
                var uploadErrors = [];
                var acceptFileTypes = /^document\/(doc|docx)$/i;

                var fileName = data.originalFiles[0].name;
                var fileExtension = fileName.split('.')[1];

                if(fileExtension.toLowerCase() != "doc" && fileExtension.toLowerCase() != "docx") {
                      uploadErrors.push('Not an accepted file type');
                }
//                if(data.originalFiles[0]['type'].length && !acceptFileTypes.test(data.originalFiles[0]['type'])) {
//                    uploadErrors.push('Not an accepted file type');
//                }
                if(data.originalFiles[0]['size'].length && data.originalFiles[0]['size'] > 5000000) {
                    uploadErrors.push('Filesize is too big');
                }
                if(uploadErrors.length > 0) {
                    alert(uploadErrors.join("\n"));
                } else {
                    data.submit();
                }
        },
        url: url,
        dataType: 'json',
        formData: {userId : userId},       
        done: function (e,data) {

            onFileUploaded(data.result.fileName,data.result.filePath);

            //Update the pic
           // $("#userPic").attr('src',data.result.imagePath);

            //set the image name
           // $("#CandidateProfile_image_name").val(data.result.imageName);

            //console.log(data);
        },       
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});

谢谢, 费萨尔纳西尔

1 个答案:

答案 0 :(得分:0)

您可以通过将dropZone选项设置为null来禁用拖放。

$('#resumeUpload').fileupload({
    dropZone: null,
    add: function(e, data) {