ios - 在客户端生成缩略图

标签 ios image amazon-s3 screenshot thumbnails

我和我的团队正在构建一个 iOS 应用程序。我们允许现场技术人员针对他们在技术设备上解决的某些问题上传图像。当这些图像上传到 S3 时,放大(因此保持相对较高的质量)很重要。

最近我们决定添加缩略图,因为相比下载 1.5-2.5mb 的图片,其他人浏览 iOS 应用程序时速度会快得多。

我的同事认为处理此问题的最佳方法是在 iOS 中生成一个 200-500kb 的缩略图,然后将图像和缩略图上传到 s3。

我表达了我的担忧,即我们的一些技术人员可能身处世界上某些互联网速度较慢且数据使用量有限的地区。所以在设备上做所有这些额外的工作并上传对我来说毫无意义。然而,团队认为这是一个很好的解决方案,并将继续推进。我已经向他们展示了如何在服务器上自动从 S3 和 Lambda 生成缩略图的简单示例……允许我们使用额外的带宽上传更高保真度的图像,或者只是通过更少的上传来提高应用程序的速度。有时用户可能会上传多达 100 张图片...这意味着额外的 20-50mb...

无论如何,我想听听一些关于你们认为处理此问题的最佳方法的答案,主要是为了我自己的理智检查。

最佳答案

我不完全理解您项目的复杂性,但根据经验,我有一个词可以告诉您 - Cloudinary。与通用云存储解决方案 S3 不同,cloudinary 旨在处理图像。

我们有一个每天有 200,000 次点击的在线分类应用程序,每天处理数万张照片。而 cloudinary 为我们的所有需求提供了一个极其平均的解决方案。我们有用户从他们的移动和桌面设备上传、这些图像的书签、基于 CDN 的服务和缩略图生成。

我有没有提到他们内置生成缩略图?它们还有许多其他功能,包括

  • 调整大小和裁剪
  • 优化的 JPEG 自定义裁剪
  • 人脸缩略图
  • 旋转的圆形缩略图
  • 缩放效果和缩放图像叠加
  • 水印图片
  • 优化的 WebP
  • Overlay, Border, Shadow Text Overlay, Border, Shadow etc.

管理控制台也非常强大,您可以通过云配置上述所有功能。它几乎适用于任何应用程序(我们在内部 Ruby、Go、NodeJS 服务、我们的 Web 应用程序以及我们的 iOS 和 Android 应用程序中使用它)。 我不会向您出售 Cloudinary,但我可以保证,如果它是我需要的基于图像的服务,我会在任何一天通过 S3 购买 Cloudinary。 EBay 和 TED 等主要玩家将其用于他们的图像要求。

关于ios - 在客户端生成缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759424/

相关文章:

css - 链接图片旁边的文字

javascript - 单击图片元素时切换 img src 和 source srcset

apache-spark - 长时间正常运行后,Spark 有状态流作业在检查点到 S3 时挂起

node.js - Multer s3 文件名

ios - 如何在手机查询中使用饼图?

ios - 如何使用 UITapGestureRecognizer 在 UIView 上的两种颜色之间切换

ios - 适用于 iOS 应用程序的 self 管理丰富的广告平台?

html - 在 DIV 容器内的类中维护图像的比率

amazon-web-services - 为什么 CloudFront 有时会提供 gzip 而不是 br,当两者都启用时?

iphone - 命令/bin/sh 失败,退出代码为 1 三 20-