欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

七牛云存储 - PHP网站,对上传的图片保存多份的问题?

程序员文章站 2022-06-03 23:11:59
...
场景分析:
上传商品图片后保存一份原图,然后一个微缩图,

然后针对手机设备的,

针对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后面加上参数就行了。