要上传的jQuery drop文件

时间:2013-07-23 11:26:41

标签: javascript jquery

我想用drop文件上传文件 我知道$ .ajax是不可能的 这里 这是我的代码

$('.eCover').on(
    'dragover',
    function(e) {
        e.preventDefault();
        e.stopPropagation();
    }
)
$('.eCover').on(
    'dragenter',
    function(e) {
        e.preventDefault();
        e.stopPropagation();
    }
)
$('.eCover').on(
    'drop',
    function(e){
        if(e.originalEvent.dataTransfer){
            if(e.originalEvent.dataTransfer.files.length) {
                e.preventDefault();
                e.stopPropagation();
                /*UPLOAD FILES HERE*/
                upload(e.originalEvent.dataTransfer.files);
            }   
        }
    }
);
function upload(files){
    $.ajax({
        type: "post",
        url: "upload.php",
        data: {data:files},
        dataType: "json",
        cache:false,
        success:function(data){
            alert(data);
            return false;
        }
    })
}

我无法用ajax发送数据文件,我该怎么办? 我想通过代码而不是插件尝试它 谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用XMLHttpRequest

使用FormData对象进行上传
function upload(myfile) {
        var fd = new FormData();
        fd.append("fileToUpload", myfile);
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "upload.php");
        xhr.send(fd);
}

取自this tutorial