我正在尝试在我的第一个专业rails应用程序上更快地上传图像并开始进入圈子。我正在使用jquery直接上传直接上传到s3,从图像文件不接触服务器的角度来看,这会让事情变得更快。但是,当我尝试使用延迟回形针和延迟作业处理文件时,文件会被复制回服务器进行处理 - 我想首先避免使用该文件。
那里的专家可以提出一个更好的方法,我可以在s3上处理我的图像而不必将其复制回服务器或者在上传之前在jquery中调整它的大小吗?
我试着按照这篇文章Using Delayed Paperclip With S3 Direct Upload中的答案,但由于我收到很多错误,它没有帮助。
任何建议或指示都会有所帮助!
TIA !!
答案 0 :(得分:3)
正如John所说,你可以通过Lambda函数调整它的大小。
另一种选择是在图像提取时进行调整大小,例如:
Imgix - https://www.imgix.com/
Cloudinary - http://cloudinary.com/
答案 1 :(得分:0)
这个问题刚刚问过,但是我最近遇到过这个问题,我想分享一个非常直接的解决方案,我可以使用aws-lambda-image github项目来应用。你基本上是clone the repository and install the npm
dependencies,setup the reduce/resizes you want而你是ready to deploy。之后只需add a triggering event到您的S3存储桶(您也可以通过S3 UI on AWS Console执行此操作,您的图像将在AWS / S3中处理。
我希望这对别人有帮助!