使用ajax发送文件上传脚本不起作用

时间:2015-10-03 15:02:42

标签: javascript php jquery ajax

我正在尝试使用ajax将用户删除文件的发送到php上传脚本。我不知道为什么它不起作用,没有任何反应如果我放下图像。

为什么没有人回答?

所以这是 html 部分:

<div id="dropzone" class="dropzone" 
     ondragenter="return false;"
     ondragover="return false"
     ondrop="drop(event)">
    Drop here!
</div>

这是 js功能

// drag n' drop
function drop(e) {
    e.preventDefault();

    var datei = e.dataTransfer.files[0];

    if(datei && datei.type.match("image/*")) {
        var reader = new FileReader();

        reader.onload = function(event) {
            var uploadfile = event.target.result;

            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'imgupload.php');

            var formdata = new FormData();
            formdata.append('upload', uploadfile);
            xhr.send(formdata);

        }

        reader.readAsDataURL(datei);
    }
}

那么我做错了什么?需要改变什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这很容易。我应该使用 FileReader()

这是有效的:

// drag n' drop
function drop(e) {
    e.preventDefault();

    var datei = e.dataTransfer.files[0];

    if(datei && datei.type.match("image/*")) {

        var formdata = new FormData();
        formdata.append('upload', datei);

        var xhr = new XMLHttpRequest();
        xhr.open('POST', 'imgupload.php');
        xhr.send(formdata);

    }
}