Rails Paperclip Phonegap Heroku S3-如何通过控制器从 Ajax 请求返回图像文件?
我正在通过 Phonegap 作为客户端并使用 Rails 作为后端创建一个移动应用程序。我正在将我的应用程序部署到 Heroku,并计划使用 S3 来存储图像文件,因为这是我在网上的各种阅读中推荐的。
我想知道如何使用 Rails 控制器从 Phonegap 的 Ajax 请求发送回图像。
我不知道如何编写后端 API 代码来发送图像到请求。
我还读到,在未启用 x-send_file 的情况下使用 send_file 方法会减慢服务器速度,因为发送图像会阻止其他请求,直到完成为止。
如果您有任何见解,请告诉我。
I am creating a mobile app through Phonegap as the client and using Rails as the back-end. I am deploying my app to Heroku and am planning to use S3 to store the image files, because that is what is recommended from my various readings online.
I was wondering how could the Rails controller be used to send images back from Ajax requests from Phonegap.
I am not sure how to write the back-end API code to send images to requests.
I also read that using the send_file method without x-send_file enabled will slow down the server because sending the image would block other request until it is done.
Please let me know if you have any insights.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在此处使用到 S3 资源的重定向,然后您的浏览器将直接获取图像,而不会在浏览器缓慢下载图像时阻塞服务器进程之一。
如果您需要保持图像的私密性,您可以使用 S3 的签名 URL 功能,仅向适当的用户提供签名且有时间限制的 URL。 (请参阅我对 Paperclip 的承诺: https://github.com/thoughtbot/paperclip/pull/292< /a>)
You could use redirects to the S3 assets here, then your browser is just getting the image directly, and not holding up one of your server processes while the browser slowly downloads the images.
If you need to keep your images private you can use the signed URL feature of S3 to only give signed and time limited URL's to the appropriate users. (See my commit to Paperclip: https://github.com/thoughtbot/paperclip/pull/292)