2015-10-03 61 views
2

我想发送一个由用户下载文件到php上传脚本使用ajax。我不知道为什么它不起作用,没有任何反应如果我放下图像。发送文件上传脚本使用ajax不起作用

为什么没有人回答?)

所以这是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); 
    } 
} 

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

感谢您的帮助!

+0

这个Q是当前为2小时大 - 我们都坐在这里,在我们的屏幕上主演,只是等待你一个问题.... –

+0

不要知道应该发生什么,请参阅http://jsfiddle.net/ppax2auu/1/,但似乎'dropzone'实际上不是可投入的 –

回答

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); 

    } 
}