2008-10-31 64 views
15

我需要一個簡單的方法來允許用戶一次上傳多個文件(即我需要允許用戶上傳文件夾)。我不希望把壓縮的負擔放在用戶身上。將文件夾上傳到網站的最佳方法是什麼?

如果可能,我寧願避免使用Flash或變體。如果可以,我正在尋找一個直接的javascript/HTML解決方案。請注意,這排除了答案:What is the best client side browser library to upload multiple files over http?

+0

最好的方法:FTP – 2008-10-31 17:24:20

+0

Diodeus:你應該發佈這個答案。 – eyelidlessness 2008-10-31 17:27:33

回答

24

您將無法使用HTML和Javascript來做到這一點。我建議嘗試Fancy Upload,一個MooTools插件多文件上傳。它使用JavaScript和Flash的混合,但優雅地降級。它適用於包括IE6在內的所有主流瀏覽器,並且還有一個兼容Flash 10的版本可供下載(儘管演示還未更新)。


更新(2012年11月26日):

多文件上傳是可能的valumsblueimp文件上傳。

對於遞歸目錄上傳,您的最佳解決方案是使用Chrome 11's new folder upload API。如果您使用供應商前綴,它似乎也適用於Firefox。

3

如果你避免閃存(大概的Java?)的JS /只支持HTML的解決方案仍然需要單個文件input S,但本質上您安裝onchange事件您input,添加新input到DOM時一個文件被選中。

+0

是否可以獲取特定文件夾中的文件列表,並將其自動輸入到輸入控件中? – torial 2008-10-31 17:29:29

+0

我回答自己的問題從評論:http://www.codeproject.com/KB/scripting/search_in_files.aspx – torial 2008-10-31 17:31:07

1

這不是純粹的js/html解決方案。正如EndangeredMassa指出的那樣,這是不可能的。實際上,這個想法是一個僅限IE/Windows的解決方案。我不推薦它,但它可以工作。

因此,所有免責聲明拋開......

多年,幾個僱主前,我們用來做一些客戶端的東西,實例化FileSystemObject對象。它會遍歷每個文件,並一次將它們傳遞給服務器。不記得我們是如何做到的:o(

無論如何,這通常意味着客戶端需要將網站添加到受信任網站列表中,併爲受信任網站提供一系列權限關閉(出於很好的理由)。東西像初始化和腳本ActiveX控件沒有標記爲安全的能力。那種事。

我知道這不是一個完美的答案,但它可以指向你在正確的方向。

2

FTP?如果NEC的,包裹在的Java Applet,ActiveX或任何你想要的。

如果不是,雖然你不想使用閃存,但SWFUpload非常酷,你可能想重新考慮它是一個不錯的選擇。

2

多個文件上傳是可能的valumsblueimp文件上傳純JS溶液。

對於遞歸目錄上傳,你的選擇是比較有限:

  • 你最好的解決方案是使用Chrome 11's new folder upload API。如果您使用供應商前綴,它似乎也適用於Firefox。

  • 這也是可能的跨瀏覽器與Java applet。但是安裝了JRE鄉親%已經得到了相當低的這些天(< 70%

相關問題