oss 图片服务端签名直传遇到图片需要裁剪的问题?

场景:

我在设计上传用户图片,并存储数据库的功能时,出于性能优化的考虑, 计划如下:

使用阿里云的 oss ,并采用服务端签名直传并设置上传回调的方式

遇到的问题

  • 如果用户上传的图片太大,图片需要裁剪,但是采用服务端签名直传并设置上传回调的方式,是不是就无法实现在上传阿里云oss时裁剪图片?
  • 采用每次使用 oss 图片链接并传递图片尺寸参数的方式,会不会影响性能?
  • 基于性能优化的角度,我的设计是否合适,有其他更合适的方式吗?
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

如果用户上传的图片太大,图片需要裁剪,但是采用服务端签名直传并设置上传回调的方式,是不是就无法实现在上传阿里云 oss 时裁剪图片?

不太清楚你说的「裁剪」是无损压缩、有损压缩、降低分辨率、压缩长宽,还是裁剪图片中的一部分。根据需求可以考虑相关前端实现,或者使用类似 Lambda 的技术挂载 OSS 的上传事件实现。

采用每次使用 oss 图片链接并传递图片尺寸参数的方式,会不会影响性能?

几乎不会。但你要考虑你的 OSS 账单。图片压缩等服务一般是需要单独按量付费的。

基于性能优化的角度,我的设计是否合适,有其他更合适的方式吗?

非常合适。

4年前 评论
matteao (楼主) 4年前
matteao (楼主) 4年前
讨论数量: 4

如果用户上传的图片太大,图片需要裁剪,但是采用服务端签名直传并设置上传回调的方式,是不是就无法实现在上传阿里云 oss 时裁剪图片?

不太清楚你说的「裁剪」是无损压缩、有损压缩、降低分辨率、压缩长宽,还是裁剪图片中的一部分。根据需求可以考虑相关前端实现,或者使用类似 Lambda 的技术挂载 OSS 的上传事件实现。

采用每次使用 oss 图片链接并传递图片尺寸参数的方式,会不会影响性能?

几乎不会。但你要考虑你的 OSS 账单。图片压缩等服务一般是需要单独按量付费的。

基于性能优化的角度,我的设计是否合适,有其他更合适的方式吗?

非常合适。

4年前 评论
matteao (楼主) 4年前
matteao (楼主) 4年前

这个方案没有问题,而且你说的图片裁剪需求,可以通过 OSS 的数据处理功能来实现。程序不需要额外处理,直接交给云服务器处理即可。

详细可以查看阿里云 OSS 的帮助文档

4年前 评论
matteao (楼主) 4年前

本地裁剪,然后在上传

4年前 评论
mostwin (作者) 4年前
matteao (楼主) 4年前

@Wi1dcard

类似 Lambda 的技术挂载 OSS 的上传事件实现

不理解,能不能再解释一下? :joy:

4年前 评论
Wi1dcard 4年前
matteao (作者) (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!