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

场景:

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

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

遇到的问题

  • 如果用户上传的图片太大,图片需要裁剪,但是采用服务端签名直传并设置上传回调的方式,是不是就无法实现在上传阿里云oss时裁剪图片?
  • 采用每次使用 oss 图片链接并传递图片尺寸参数的方式,会不会影响性能?
  • 基于性能优化的角度,我的设计是否合适,有其他更合适的方式吗?
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 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年前

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