搜索
首页
大数快讯
大数活动
服务超市
文章专题
出海平台
流量密码
出海蓝图
产业赛道
物流仓储
跨境支付
选品策略
实操手册
报告
跨企查
百科
导航
知识体系
工具箱
更多
找货源
跨境招聘
DeepSeek
首页
>
实战分享 | .Net Core自由图片尺寸请求的实现与用途
>
0
0
实战分享 | .Net Core自由图片尺寸请求的实现与用途
网信科技
2019-08-06
1
导读:实战经验分享 多才的网信程序员又上线了!我们平常浏览网页或打开APP应用时,在有图片列表的地方,如果发现图片
实战经验分享
多才的网信程序员又上线了!
我们平常浏览网页或打开APP应用时,在有图片列表的地方,如果发现
图片加载缓慢(图片一点点加载出来)
,那就意味着几方面的问题需要你的注意:
1. 你的网速有点低,或者是这家图片资源提供
服务
器的带宽或计算力不足。
2. 如果是手机蜂窝网打开的话,那就要小心你的流量消耗了。
3. 加载太慢,等的心情变差了。
造成上述问题的罪魁祸首就是因为这些要显示的图片太大了。
而解决这些问题的最直接的方法就是
缩略图的应用
。
关于缩略图,大家都不会陌生,这是个好东西,因为它是原大图的缩小图,图片尺寸也小,所以加载就快了,这最终的
效果就是能节省我们的资源与提升我们上网冲浪的心情。
缩略图一眼能看到原大图的全部概略效果,因为是缩小图,所以要想看清细节,就需要再点击这个缩略
图来进行放大,放大呢,也分几个级别,可以根据目标浏览窗口尺寸进行具体尺寸的请求,这样一张原图2K、4K、8K分辨率的图也可以实时根据用户需要来进行响应。想要实现这样的效果,
我们就不能在用户上传图片时就制作缩略图了,需要在请求时制作相应尺寸的缩略图。
1.第一种,提供独立的缩略图接口,但这样一来就需要重新调整原图
url
的结构,比如:
http://localhost:8080/images/bg027.jpg这样的图片URL,需要改成这样或者其它自定的路由形式:
http://localhost:8080/thumbnail?path=/images/bg027.jpg&width=300&height=200(原结构完成改变了)
2.第二种,就是不改变原路径,仅仅是添加了
查询参数,比如:
http://localhost:8080/images/bg027.jpg&width=300&height=200(最大程度保持原样)
3.第三种,在request header中设置请求尺寸,这样原URL不用改变,但这样不利于img src标签的使用。
本文重点解决第二种,具前端工程师说,这样改动最方便。
现在我来讲解下如何在asp.net core跨平台技术开发的项目中添加上述自由尺寸缩略图的功能。
由于asp.net core所有的资源请求全部通过管道中间件来进行处理,而这其中就有封装好的静态资源中间件,这就需要我们拦截这个图片请求,自已处理好,自己返回给客户端(浏览器或APP)。
具体实现核心代码如下:
最终效果:
最后的问题:
缓存!
以上针对少量用户进行大图查看时,已完美解决,但如果大量用户重复读取,每次都需要重新制作,会消耗服务器资源。
解决思路:直接生成指定规则名称缩略图文件,根据请求参数判断目标文件是否已生成,有则直接读取。
后续改进的代码就不贴出了,有需要直接联系我们。
壮观的图片加载列表,同时出现:
IT综合服务商
智慧旅游解决方案专家
【声明】内容源于网络
0
0
网信科技
苏州网信信息科技股份有限公司成立于2007年,公司总部设立在江苏省苏州市,目前拥有近百名员工。公司主要从事智慧城市规划设计与实施,包括智慧城市、数字企业、信息安全、信创服务、大数据、云计算、元宇宙等业务方向。
内容
403
粉丝
0
关注
在线咨询
网信科技
苏州网信信息科技股份有限公司成立于2007年,公司总部设立在江苏省苏州市,目前拥有近百名员工。公司主要从事智慧城市规划设计与实施,包括智慧城市、数字企业、信息安全、信创服务、大数据、云计算、元宇宙等业务方向。
总阅读
61
粉丝
0
内容
403
在线咨询
关注