咨询电话:0371-56701889 / 13838321902
阳夏学院 / school
当前位置:首页 > 阳夏学院
编辑:
2017-5-26 8:20:19
下班后无聊,开始翻开硬盘里的代码。
翻到了dtcms,很好的.net项目,功能暂且不谈,后台界面狂甩织梦几条街。运行解决方案后,准备研究下他的插件实现原理。
在预览网站的时候,发现所有上传的图片全都虚掉了(行业待的时间长了,眼睛都好使了)。然后F12调出开发人员工具,开始抓包分析。上传原图片大小:110385字节,如下图:


上传到服务器后128313字节,竟然比原图片还大。把上传后的图片保存下来发现,图片实际大小只有86568字节。


我把目光投到了后台代码\DTcms.Web.UI\UpLoad.cs,检查了一遍,图片最大尺寸无限制,与原图分辨率一致。不是后台代码的问题。
随后,对抓包的第二个请求做分析,为什么会出现data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=,查了半天资料也没搞懂是不是跟图片被压缩有关。


然后用鼠标把initiator拖开,看到数据请求经过了\DTcms.Web\scripts\webuploader\webuploader.min.js上传组件。拖到EditPlus里打开,查找关键字quality,全部改成100,更新浏览器缓存,再次上传,问题依旧。


随后搜索web uploader,找到了项目地址,百度团队开发的上传组件。查看API,compress设置为false,问题解决。


dtcms没有问题,所谓的"bug"出现在百度上传组件上。有些感慨, 以前不喜欢用组件,ajax请求也要自己写,理由是不需要全部的功能,却要多加载全部大小的文件,心理洁癖。现在想想,之前这么想最主要的原因还是上学时候有大量的时间,闲。有时候不必重复造轮子,用最好的资源做最好的事情,达到最好的目的,给自己最好的安慰,足够了。

转自:http://www.jinyazhou.com/blog/dtcms_webuploader_compress
站内搜索/Search
业务范围/Service
阳夏网络全称郑州阳夏软件科技有限公司,主营网站建设、网站托管维护、营销推广等业务,阳夏网络欢迎您来电垂询。
建站咨询:0371-56701889、13838321902
快捷导航/Menu
-设计学院
-切图学院
-编程学院
收缩

阳夏建站在线客服

  • 咨询 点击这里给我发消息
  • 售后 点击这里给我发消息
  • 投诉 点击这里给我发消息
  • 13838321902
  • 0371-56701889