2012-09-15 123 views
0

我需要上传通过拖放添加的文件,为此我需要使用jQuery和Ajax。我有一个表单,用户可以通过浏览按钮选择文件,但用户应该可以通过拖放来添加文件。我不想使用插件。拖放jQuery Ajax上传

拖放的JavaScript工作,但我不知道如何实际上传文件(与FileReader的东西?)。这里是删除文件的功能(删除了验证码)。

function handleFileSelect(e) { 
    e.stopPropagation(); 
    e.preventDefault(); 

    var files = e.dataTransfer.files; 

    for(var i = 0, f; f = files[i]; i++) { 
     //i display the file name and do validation here 
    } 
} 

我想能够使用上传的文件jQuery的.ajax从这里开始。这可能吗?

回答

1

使用FormData通过AJAX上传文件。

var data = new FormData(); 
... 
data.append('file', files[i]);  
... 
$.ajax({..., data: data, contentType: false, processData: false, type: 'POST', ...}); 
+0

一派 “jQuery的阿贾克斯FORMDATA”,发现这个http://stackoverflow.com/questions/5392344/sending-multipart-formdata-with-jquery-ajax。这个问题的最佳答案适合我! – Lukas