2011-03-01 32 views
3

Dropbox的網站前端允許從同一個對話框上傳多個文件。dropbox.com的多個文件上傳功能是如何工作的?

這是如何工作的?它是一些尖端的HTML標籤嗎?還是花哨的JavaScript?還是Flash/Java嵌入式應用程序?

這是驚人的,我不認爲它實際上是可能的!

請指教。

+0

好的答案,謝謝你們。我們認爲這種東西可以用HTML5開箱即用嗎? – Dougal

+0

因爲您是新手,請記住,選擇最佳答案之後是您的工作(帶有綠色複選標記)。提高(^)也是給予人們「信用」以取得良好/有效答案的好方法。歡迎來到SO。 – Jakub

+0

所有答案都很好 - 謝謝。順便說一聲我不是新的,但我似乎已經失去了我的stackoverflow cookie,我不得不重新開始:-( – Dougal

回答

3

上次我檢查它是Flash。它使用ActionScript FileReference類。如果您想將這種功能添加到您自己的應用程序,請查看http://swfupload.org/

最讓我吃驚的是,你可以擁有這樣的功能,不需要任何信息詢問用戶的許可。我習慣了這種功能的Java小程序,並且需要訪問需要簽名的文件系統,並在執行之前詢問用戶權限。與Flash的技巧是,你剛:

  • 打開一個FileDialog的選擇文件
  • 你可以選擇的文件做的唯一的事情就是上傳

所以沒有爲沒有安全隱患用戶,因爲程序員永遠不能訪問文件系統。

0

我剛剛檢查了這個...當你右鍵點擊上傳文件按鈕,你可以看到它是一個Flash電影。所以這是一些閃光的事情。

你可以做的是:

<form action="file-upload.php" method="POST" enctype="multipart/form-data"> 
Send these files:<br> 
<input name="userfile[]" type="file"><br> 
<input name="userfile[]" type="file"><br> 
<input type="submit" value="Send files"> 

,其中通過文件的文件upload.php的迭代,並上傳他們。

用於添加更多文件,您可以通過javascript創建輸入元素。

沒有特殊的html元素來做到這一點。

0

大多數上傳解決方案(Dropbox不是唯一一個,也不是第一個)利用帶有任何類型的服務器端代碼的Flash構建上傳處理程序來處理/處理上傳。

有其他方法也一樣,使用AJAX,像

在谷歌上搜索ajax upload以獲得更多信息,或者通過搜索Flash上​​傳搜索swf路線。有很多爲你的口味或語言編寫的教程(無論你選擇什麼)