在客户端上生成缩略图

agr*_*lev 9 screenshot image thumbnails amazon-s3 ios

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

最近我们决定添加缩略图,因为当其他人浏览iOS应用程序时,它会快得多,而不是下载1.5-2.5mb的图像.

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

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

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

nik*_*ohn 2

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

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

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

  • 调整大小和裁剪
  • 优化的 JPEG 自定义裁剪
  • 脸部缩略图
  • 旋转圆形缩略图
  • 缩放效果和缩放图像叠加
  • 水印图像
  • 优化的WebP
  • 覆盖、边框、阴影 文本覆盖、边框、阴影等。

管理控制台也非常强大,上述所有功能都可供您通过云进行配置。它几乎适合任何应用程序(我们在内部 Ruby、Go、NodeJS 服务、Web 应用程序以及 iOS 和 Android 应用程序中使用它)。我没有付费向您出售 Cloudinary,但我可以保证,如果我需要的是基于图像的服务,我会随时选择 Cloudinary 而不是 S3。eBay 和 TED 等主要参与者都使用它来满足他们的形象要求。