阿里云OSS 图片处理api(custom)

首先放个阿里云OSS图片处理接口文档 阿里云官方地址
OSS 图片处理接口文档

我们有时会抱怨用户上传的图文中图片文件大了(假如说3M的图片)。导致生成的网页打开速度慢,怎么办呢?

问题分析:网页打开慢是因为网页资源下载的那张图片下载慢。只要能够改变用户上传的大小就能解决这个问题。

方案一: 限制用户上传文件的大小?
1、使用的用户并不懂程序,限制了大小用户是否会觉得体验感不好?

方案二:图片上传后我们是否能对图片进行处理使之改变该图片的大小(压缩)?
1、我们写的程序处理图片的接口就一定很好吗?
2、我们有那么多精力去做这个吗?
3、我们能否在网上查询相应的资源下载对应的图片处理接口包来使用?安装使用的流程复杂吗?
4、能否在现有的资源下找个免费的第三方平台免费帮助我们?

然后我根据自己的情况我选择了上述的方案二 - 4 这个方法
采用OSS自带的图片处理机制来帮助我们。
我只说一下我的使用心得。
我的需求只是压缩用户上传上来的图片文件大小
假设我的OSS域名是
http://demo.oss-cn-xxxxx.aliyuncs.com
在该demo bucket下我上传了一张图片 test.jpg 文件大小是3M
假设http能访问到的地址 http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg

现在我想更改这个图片文件的大小。怎么办?
1、更改图片清晰度
2、缩小图片尺寸
我能想起的就是这两个方法
但是根据我的需求不能更改缩小图片的尺寸,那么只能是更改图片的清晰度了。
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/quality,q_60
原图清晰度的60%
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/quality,q_80
原图清晰度的80%

看到了吧?
queryString : x-oss-process=image/quality,q_{int} 这个就是更改图片清晰度的结尾参数 {int}取值0~100

当然我们还可以对图片进行多次处理

裁剪
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/circle,r_100

先压缩再裁剪
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/quality,q_80/circle,r_100

是不是很方便,不需要我们自己去写代码,只要我们自己在参数后面加入对应的参数就行了。

当然如果你有自己的阿里云域名(通过域名映射指向的阿里云域名的,如demo.xxxxx.com 指向阿里云的demo.oss-cn-xxxxx.aliyuncs.com) 怎么去实现上述的功能呢?
一样的,什么都不需要变化。直接点:
http://demo.xxxxx.com/test.jpg?x-oss-process=image/circle,r_100
http://demo.xxxxx.com/test.jpg?x-oss-process=image/quality,q_80/circle,r_100

如果demo.xxxx.com 做了CDN 加速 也一样用。虽然这个没测试过 但是网上其它老师都是这么说的。

如果你的域名是https 协议访问的,你也可以试一下我上述的方法,我也没测试过https协议的访问情况,如果测试了的小伙伴方便在下方留个言说下测试结果么?方便后面的小伙伴们查看测试结果,节约时间。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值