七牛云存储 - PHP网站,对上传的图片保存多份的问题?
上传商品图片后保存一份原图,然后一个微缩图,
然后针对手机设备的,
针对4G网络的,
针对3G网络的,
针对2G网络的,
…………
这样每上传一张商品图片就被保存为多份,要疯了,怎么能够这样子呢?
我看到有一种方法,就是只保存一张原图,然后 使用这样的模式:
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
可以看到 这个并不是一张真实的图片地址,后面的参数可以调节的,这样就可以 “按需输出”想要的任何图片了,
水印,裁剪,美化……统统不在话下,
但是我又有个疑问,它这个是PHP在后端做处理的吗,这样做合适吗,一个页面那么多图片,每个图片请求都让PHP去做这样的事情,处理原图,输出,这样会不会有性能问题,毕竟如果按第一种方式“一次性解决”就没有PHP的事了,
所以很郁闷,我目前只知道这两种方式,另外其它云储存平台 七牛,又拍云 的没用过,希望有经验的大神指导一下,感激不敬,最好找个现在实际的网站例子,让我看看别人都是怎么做的,
原谅我啰嗦,这个问题纠结我好久了。
谢谢!
补充:云存储平台好像能帮你使用CDN分发,对这个还是有点模糊,大神不忙就帮我解释解释哈,如果图片地址是一个真实的图片文件路径,比如:https://www.baidu.com/img/bd_logo1.png,那么就不能享受CDN了吗,对这个概念还是很晕呢。
回复内容:
场景分析:
上传商品图片后保存一份原图,然后一个微缩图,
然后针对手机设备的,
针对4G网络的,
针对3G网络的,
针对2G网络的,
…………
这样每上传一张商品图片就被保存为多份,要疯了,怎么能够这样子呢?
我看到有一种方法,就是只保存一张原图,然后 使用这样的模式:
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
可以看到 这个并不是一张真实的图片地址,后面的参数可以调节的,这样就可以 “按需输出”想要的任何图片了,
水印,裁剪,美化……统统不在话下,
但是我又有个疑问,它这个是PHP在后端做处理的吗,这样做合适吗,一个页面那么多图片,每个图片请求都让PHP去做这样的事情,处理原图,输出,这样会不会有性能问题,毕竟如果按第一种方式“一次性解决”就没有PHP的事了,
所以很郁闷,我目前只知道这两种方式,另外其它云储存平台 七牛,又拍云 的没用过,希望有经验的大神指导一下,感激不敬,最好找个现在实际的网站例子,让我看看别人都是怎么做的,
原谅我啰嗦,这个问题纠结我好久了。
谢谢!
补充:云存储平台好像能帮你使用CDN分发,对这个还是有点模糊,大神不忙就帮我解释解释哈,如果图片地址是一个真实的图片文件路径,比如:https://www.baidu.com/img/bd_logo1.png,那么就不能享受CDN了吗,对这个概念还是很晕呢。
这个访问和处理方式是比较好的: http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
如上是一种即时处理机制,在七牛这边处理,不是在你服务器上处理,访问之后就缓存在七牛的CDN上面,之后直接访问处理后的图片的缓存,无需再处理。
这样确实可以修改参数,如果你不想修改参数。
可以登录七牛的后台 portal.qiniu.com ,然后在选择空间后,在数据处理那里面开启原图保护。
开启原图保护之后把,imageMogr2/format/webp/quality/85/thumbnail/210x180 设置为样式1 ,假设样式1 取名为 fop1
然后你以后访问
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
只能这样访问:
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg_fop1
这样,就可以控制参数被修改,希望能帮到你。
用过七牛,表示是个不错的第三方资源存储平台,除了php的sdk有点坑之外,其他的都还不错。同时它也提供了多种图片缩放、剪裁的参数,也是直接在图片的url后面加上参数就行了。