2012-07-31 88 views
0

我有這整個拖放的東西工作,但你如何將其上傳到服務器?我可以得到一些base64編碼的圖像的dataURL。有沒有辦法將它上傳到我的servlet,servlet如何接受這個? This tutorial很有幫助,但缺少上傳部分。我也看過其他的JQuery插件,這些插件似乎是自定義的,而且很重要。如何在拖放後將圖片上傳到服務器

+0

圖像從哪裏來的? – 2012-07-31 18:25:19

+0

@Diodeus從用戶桌面。 – 2012-07-31 18:27:02

+0

那麼如果用戶還沒有將其上傳到服務器,那麼您如何使用該映像? – 2012-07-31 18:32:59

回答

1

後更多搜索,我發現使用JavaScript的FormData對象提交文件非常容易。從dataTransfer.files(拖放API的哪一部分)獲取圖像文件後,以下代碼能夠成功將圖像文件發送到服務器。

// Create formdata object 
var formData = new FormData; 
// Append form item (key, value) 
formData.append('file', imageFile); 

// JQuery ajax call to submit the file using post request 
$.ajax({ 
    url: 'url_of_server_script', 
    data: formData, 
    processData: false, 
    contentType: false, 
    type: 'POST', 
    success: function(data){ 
     alert(data); 
    } 
}); 
1

一個選項是使用這樣的:

http://www.plupload.com/

雖然它配備了UI,還配備了JS庫中您可以將文件發送到服務器編程。用戶界面和編程部分是獨立的js文件,所以你不會有不必要的JS打亂您的網站...

我不是重塑車輪的一大主張... :-)

+1

是的,我也在我的一個項目上使用plupload。我也喜歡如果瀏覽器不支持HTML5拖放,它會如何優雅地降級。 如果沒有別的,如果你只是想知道自己,看看plupload代碼,看看他們是如何處理它。 – AceCorban 2012-07-31 18:41:28