【问题标题】:resizing image on s3 after direct upload直接上传后在 s3 上调整图像大小
【发布时间】:2015-11-18 05:05:57
【问题描述】:

我正在尝试在我的第一个专业 Rails 应用程序上加快上传图像的过程,并开始循环往复。我正在使用jquery直接上传直接上传到s3,从图像文件不接触服务器的角度来看,这使得事情变得更快。但是,当我尝试使用延迟回形针和延迟作业处理文件时,文件会被复制回服务器进行处理——我一开始就想避免这种情况。

那里的专家可以建议一种更好的方法,让我可以在 s3 本身上处理我的图像,而无需在上传之前将其复制回服务器或在 jquery 中调整它的大小?

我试图按照这篇帖子 Using Delayed Paperclip With S3 Direct Upload 中的答案进行操作,但由于我遇到很多错误,这并没有帮助..

任何建议或指示都会有所帮助!

TIA!!

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-4 amazon-s3


    【解决方案1】:

    正如约翰所说,您可以通过 Lambda 函数调整它的大小。

    另一种选择是在获取图像时调整大小,例如:

    Imgix - https://www.imgix.com/

    Cloudinary - http://cloudinary.com/

    【讨论】:

    【解决方案2】:

    您可以在上传图片并处理图片时触发 AWS Lambda 函数。这将要求您的代码使用 Node.js 或 Java 编写,或者至少从 Lambda 中调用。

    这是一个在上传后自动调整图像大小的示例演练:AWS Lambda Walkthrough 2: Handling Amazon S3 Events Using the AWS CLI (Node.js)

    【讨论】:

    • 感谢您的回复。图像处理本身就是一门科学。我想我会暂时坚持使用 DJ、回形针和 jquery。我不确定它是否只是我(因为我正在变老),但 aws 文档似乎很神秘,就像没有任何示例的 MS doco。
    【解决方案3】:

    这个问题已经被问过一段时间了,但是当我最近遇到这个问题时,我想分享一个非常直接的解决方案,我可以使用aws-lambda-image github 项目申请。你基本上是clone the repository and install the npm dependenciessetup the reduce/resizes you want,你是ready to deploy。之后只需 add a triggering event 到您的 S3 存储桶(您也可以通过 S3 UI on AWS Console 执行此操作,您的图像将在 AWS/S3 中处理。

    希望对其他人有所帮助!

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 2011-10-04
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多