开发者社区> 问答> 正文

oss图片处理服务常见问题

要使用图片处理服务,样式,必须要用图片处理服务域名,刚开始使用oss容易忽略这一点,比如我的bucket是ali-hangzhou,
经常会犯错如下两种方式
1 ali-hangzhou.oss-cn-hangzhou.aliyuncs.com/1.jpg@100w
2 hz.aikuniu.com/1.jpg@100w (其中hz.aikuniu.com 是cdn域名,源站是ali-hangzhou.oss-cn-hangzhou.aliyuncs.com)
这样去使用图片处理服务,oss-cn-hangzhou.aliyuncs.com不是图片处理服务域名,所以这样访问的话,oss会把1.jpg@100w当做一个object,会提示404不存在(如果你的oss里面刚好有一个1.jpg@100w这样的object,可以去买彩漂了)


ali-hangzhou这个bucket的图片处理服务域名是 ali-hangzhou. img-cn-hangzhou.aliyuncs.com,注意和 ali-hangzhou. oss-cn-hangzhou.aliyuncs.com 是不一样的。要用图片处理服务样式,切记用 ali-hangzhou. img-cn-hangzhou.aliyuncs.com 去访问,ali-hangzhou.img-cn-hangzhou.aliyuncs.com/1.jpg@100w


常见图片处理服务问题解决办法
1 比如海外地域bucket使用图片处理服务,没法绑定自定义域名使用cdn,或者国内地域bucket使用图片处理服务只能绑定一个cdn域名。
解决办法,在cdn控制台创建cdn域名时,源站写oss图片处理服务域名 ali-hangzhou. img-cn-hangzhou.aliyuncs.com (切记不要写错),然后创建好后在cdn域名的基本信息---基础配置界面左下角回源host改成源站oss域名ali-hangzhou. img-cn-hangzhou.aliyuncs.com ,这样域名就不用在图片处理服务那绑定了,可以直接使用了。cdn域名也可以创建多个


2 使用图片处理服务,开启图片保护后,只能用 ali-hangzhou.img-cn-hangzhou.aliyuncs.com/1.jpg@!stylename 这种格式访问(stylename就是样式管理自己创建的样式的规则名字,自定义样式分隔符默认是@!,开启原图保护时可以自己选择其他的分隔符,根据个人习惯),其他的比如 ali-hangzhou.img-cn-hangzhou.aliyuncs.com/1.jpg@100w 或者 ali-hangzhou.img-cn-hangzhou.aliyuncs.com/1.jpg 都不允许访问了


3 使用图片处理用样式打开png图片,背景颜色变成黑色,比如 hpy.img-cn-hangzhou.aliyuncs.com/png.png 打开背景颜色是透明的,但是访问 hpy.img-cn-hangzhou.aliyuncs.com/png.png@700w 是背景颜色成黑的了, 原因是因为使用图片处理服务,如果没有指定输出图片格式,默认是输出jpg图片,而png图像有四通道,而jpg只有三个通道,这样就导致了png转jpg时,会丢失一个通道. 所以背景就变成黑色了,访问的时候指定输出格式为png就可以了,hpy.img-cn-hangzhou.aliyuncs.com/png.png@700w.png这样打开就没有问题。如果就想输出jpg图片,可以hpy.img-cn-hangzhou.aliyuncs.com/png.png@700w_1wh.jpg这样访问,把背景颜色改成白色,可以参考 https://help.aliyun.com/document_detail/32244.html?spm=5176.doc32210.6.493.frNsiW了解一下

展开
收起
hpy 2016-06-19 16:59:59 10411 0
1 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载