2011-05-06 66 views
4

我需要用戶在不離開當前網頁的情況下上傳文件(主要是圖片)。什麼是最好的工具,庫或機制來做到這一點?我正在使用最新的jQuery和Spring webmvc(帶有JSP),所以如果他們已經有了一個機制,那麼這是理想的。Javascript文件上傳機制

擁有某種進度條也很棒。這是否意味着它需要與服務器進行協調以讀取進度(Spring必須發揮作用)?或者JavaScript中有這樣的機制嗎?

回答

1

您應該檢出Plupload

Plupload提供了一個跨瀏覽器的 JavaScript文件上傳的API, 處理多個文件上傳, 客戶端進展米,型 過濾,甚至客戶端圖像 大小調整和拖動和拖放從 桌面。它通過 爲Flash提供後端, Silverlight,Google Gears,HTML5和 Browserplus並選擇最多 有效選項來實現所有這一切。

它真的很整齊!這裏有一個鏈接到他們的一些演示的...

http://www.plupload.com/example_jquery_ui.php

...和jQuery UI的隊列窗口小部件的屏幕截圖(它有一個進度條!):

jQuery UI queue widget

我希望這有幫助。
斯托伊奇

+0

這就是我正在尋找的東西。從某種意義上說,它似乎是一個獨立的上傳文件的機制。因此,例如,我無法使用表單中的描述和標記等字段。這實際上非常重要,所以我需要弄清楚如何實現這樣的事情。偉大的,我不需要涉及春天,仍然得到一個進度條!我喜歡他們如何嘗試提供最佳的瀏覽器體驗。 – 2011-05-07 01:32:24

+0

@at ...既然你接受了我的回答,我假設你很高興:)爲什麼這種「確切地說」是你想要的?這是種類還是你想要的? – Hristo 2011-05-07 01:35:25

+0

我有其他的表單字段,如描述和標籤,需要與上傳一起發送,現在查看了更多的演示和文檔後,它看起來像我可以使用plupload的自定義機制來完成此操作。 – 2011-05-07 02:17:05

0

Uploadify沒有那個把戲>http://www.uploadify.com/ 所有的樣本都是php,但你應該可以將它轉換爲你的平臺。

+0

迴應了其他uploadify答案,約uploadify相比plupload不是瘋了.. – 2011-05-07 02:19:57

1

我很經常使用uploadify:http://www.uploadify.com/

但是它並使用閃光燈的上傳機制,因此可能會造成一些問題,如果用戶進行身份驗證。

+0

好像在論壇裏大量的用戶問題,而不是瘋了(雖然不是一個因素在於)大約需要閃光燈。我必須在文件上傳的同時也有常規的表單字段,不知道使用flash機制有多棘手。 – 2011-05-07 02:18:12

+0

是的,它很容易實現,但有一定的侷限性。我一直在尋找plupload(hristo的文章),以及爲我正在開發的項目創建簡化的自定義實現的可能性。 – kroehre 2011-05-09 15:45:51

1

你應該在客戶端

http://www.webtoolkit.info/ajax-file-upload.html本教程涵蓋了所有客戶端使用AJAX。

嗡服務器端 這tutorlal涵蓋了大部分這個問題的:

http://www.ioncannon.net/programming/975/spring-3-file-upload-example/

Yopu可以使用jQuery以及或任何其他JS框架。

但霧重要的是事實你需要記住你的標籤在客戶端應該有。

enctype='multipart/form-data' 

property。這意味着您的請求包含多部分數據。

+0

我知道如何在Spring中定期上傳文件,而不是ajax機制(我猜在上面的webtoolkit示例中只是常規上傳)。但是這並不能給我一個進度條或其他好東西,比如文件大小和多個選擇,就像其他答案提供的那樣。 – 2011-05-07 02:19:32