我正在使用在heroku部署的Ruby on Rails 3。现在我使用paperclip和amazon s3进行存储,可以很好地处理多个图像附件。但是,当我提交表格时,我必须等待太长时间。出于这个原因,我将使用Ajax异步上传图像。任何例子或提示?谢谢!
更新:有一些我不明白的东西。当您填写具有多个图像附件的Post(例如)表单时,在您提交表单之前不会创建Post,然后它没有ID。图像belongs_to post通过post_id,然后:插件Jquery Uploader或Uploadify如何保存图像asyncronaly?
答案 0 :(得分:3)
所有浏览器尚不支持通过XMLHttpRequest上传异步文件(带进度指示),但我遇到的最好的jQuery插件是jQuery-File-Upload(演示here)。它可以与Chrome,Safari,Firefox,Opera和MSIE配合使用,但不幸的是,MSIE尚未支持进度指示。上传器默认适用于所有文件类型,但您可以将其限制为图像。
希望将来所有浏览器都能通过AJAX实现这一目标,但目前您必须使用Flash才能完全支持跨浏览器。
答案 1 :(得分:0)
我制作了paperclip_upload宝石。有了这个宝石你可以:
POST /api/uploads
。这将返回如下标识符:{ "identifier": "9j3gp54p" }
/api/attachments
。宝石将完成其余的工作...... 检查README