我正在开发一个带有rails的照片共享应用程序 . 由于应用程序将专注于照片共享,因此图像上传时间非常重要 . 从两点来看,用户不应该等待超过3-4秒的图像上传,并且当数百人同时共享照片时,这也不重要 .
一个人正在为我讨论一些好消息here .
对于我的情节,如果我基本上使用带有AWS的paperclip gem,这意味着每个图像都会排队,如果有很多人发布图像,他们会等待几分钟......我还要关注heroku超时......
那么AWS或Paperclip不适合我,或者我该怎么办才能解决这个问题呢?
1 回答
您可以将客户端直接上传到S3 . 所以基本上,这是如何运作的 .
您将在rails中生成预先签名的s3 URL .
您将以上传形式传递此预先签名的s3网址 .
在S3存储桶上启用CORS支持
使用像jQuery File Upload这样的JS插件将文件/视频/照片上传到s3预先签名的URL .
这里有详细说明:https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails
如果需要,请阅读上述2-3次 . 它应该解决你的问题 .