2011-07-08 29 views
4

我正在使用部署在heroku上的Ruby on Rails 3。現在我正在使用回形針和亞馬遜S3存儲的多圖像附件。但是,當我提交表格時,我必須等待很長時間。出於這個原因,我會使用Ajax異步上傳圖像。任何示例或提示?謝謝!如何異步上傳圖像

更新:有一些我不明白。當您填寫具有多圖像附件的郵政(例如)表格時,郵政在您提交表單之前不會創建,但它沒有ID。圖像belongs_to發佈througt post_id,然後:插件Jquery Uploader或Uploadify如何保存圖像asyncronaly?

+0

你能澄清對我來說,你希望用戶能夠上傳的圖片*而*他們填寫的表單。 **圖片上傳時您是否要顯示新頁面? – Tomas

+0

Hello Tomas,我希望用戶在填寫表單時可以上傳圖片。 – danimashu

回答

3

所有瀏覽器都不支持通過XMLHttpRequest進行異步文件上傳(帶進度指示),但我碰到過的最好的jQuery插件是jQuery-File-Upload(demo here)。它與Chrome,Safari,Firefox,Opera和MSIE協同工作,但不幸的是,MSIE尚未支持進度指示。上傳器默認爲所有文件類型,但您可以將其限制爲圖像。

希望未來所有的瀏覽器都可以通過AJAX做到這一點,儘管目前您必須使用Flash來完全支持跨瀏覽器。

+0

看來jquery上傳有我需要的一切。非常感謝! – danimashu

+0

我已經更新了這個問題。 – danimashu

0

我做了paperclip_upload寶石。有了這個寶石,你可以:

  1. 例如上傳你的文件到端點POST /api/uploads。這將返回一個這樣的標識:{ "identifier": "9j3gp54p" }
  2. 您可以重複步驟1所有你想要的(使用AJAX,因爲你在2011年說:P)
  3. 您可以從輕POST發送所有upload_identifiers/api/attachments爲例。創業板將完成剩下的...

檢查README