2011-05-26 59 views
2

我目前正在關注this example以進行HTML 5拖放操作。我希望使用這個上傳文件到一個遠程FTP服務器與PHP腳本。但是,我的php腳本如何訪問這些丟棄的文件?HTML 5使用jQuery和PHP拖放上傳

與常規網頁表單,我可以用$ _FILES。但我不認爲我可以用$ _FILES的下降文件..

在示例中,腳本下降後調用handleFiles功能事件

function handleFiles(files) { 
var file = files[0]; 
document.getElementById("droplabel").innerHTML = "Processing " + file.name; 
var reader = new FileReader(); 
// init the reader event handlers 
reader.onprogress = handleReaderProgress; 
reader.onloadend = handleReaderLoadEnd; 
// begin the read operation 
reader.readAsDataURL(file); 
} 

我猜我可以遍歷數組列表中的每個元素,每個元素髮送到我的PHP腳本。正如我上面提到的,我怎樣才能將這個元素從數組列表發送到php腳本? JSON? jQuery POST?

我知道有各種jQuery插件可以實現這一點,我已經下載了其中的幾個......但是我只是很好奇,知道如果我可以用這個例子實現相同的事情。

+0

相關:http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery – 2014-02-04 11:33:03

回答

2

我假設上傳你的意思是上傳它在ajax操作。 file指的是一個File對象,在用戶放棄該文件後可供您使用。 ,你有兩個選擇後

  1. 使用的FileReader讀取文件,發送文本在XHR作爲後數據(不推薦,因爲它只能處理文本)
  2. 傳遞對象FORMDATA然後通過FormData對象xhr發送文件(不適用於Firefox < = 3.6雖然)

查看Mozilla開發人員中心文檔,瞭解這些接口的用法。我有使用這些對象的工作項目,但是有太多的橋接代碼是一個很好的演練。 https://github.com/timdream/html5-file-upload

1

爲什麼不爲您的問題使用開源解決方案,而不是重新發明輪子。

http://plupload.com/

是幾乎所有你永遠都需要。我使用它,它創造奇蹟。此外,當瀏覽器無法處理html5時,它會回到html 4表單上傳。