xiebruce / PicUploader

一个还不错的图床工具,支持Mac/Win/Linux服务器、支持压缩后上传、添加图片或文字水印、多文件同时上传、同时上传到多个云、右击任意文件上传、快捷键上传剪贴板截图、Web版上传、支持作为Mweb/Typora发布图片接口、作为PicGo/ShareX/uPic等的自定义图床,支持在服务器上部署作为图床接口,支持上传任意格式文件。
https://www.xiebruce.top/17.html
MIT License
1.19k stars 169 forks source link

web页面下剪贴板粘贴图片上传七牛云的时候体积会巨大,大概是10倍左右 #7

Closed TigerBeanst closed 5 years ago

TigerBeanst commented 5 years ago

但是如果通过本地上传的话体积正常

xiebruce commented 5 years ago

确实是我这边的问题,有一个地方没修改导致未压缩图片,现在已经好了,你更新代码即可,更新后如果有问题,请删除/config/.settings目录并重新添加配置。

TigerBeanst commented 5 years ago

@xiebruce 诶我本来还以为是我的问题…… 因为我自己测试的时候是很奇怪,本来是放在sm.ms的文件,在chrome无缓存的情况下,开发者工具显示的2m,右键另存为也是2m,但是如果我这时候通过右键复制(复制sm.ms的图片,在新标签打开的情况下),粘贴到QQ的时候有明显延迟,再把QQ聊天框里这张图另存为有27m。上传七牛云的时候也是这个27m……🤔 如果是你的问题按理说复制后放QQ聊天框的时候应该是2m的状态啊

xiebruce commented 5 years ago

前面的2M的问题,是因为你粘贴的时候,chrome浏览器会自动把剪贴板的图片存成image.png,不管是什么格式的图片(比如jpg,gif)都会被它转成png,所以我js是拿到chrome传给我的图片再通过ajax上传的,而chrome保存的图片会比较大,是“全分辨率”,比如我的Macbook Pro,retina屏系统显示分辨率是1440×900,但retina屏是4个点一个像素(横着两个点,竖着两个点),所以浏览器把你截的图变成图片的长宽分别是1440×2和900×2,即2880×1800,这个图片保存起来就是2M多,差不多3M的样子,如果压缩了(压缩率50%),最后可能剩七八百K这样。

但后面你说的27M,就肯定不是我这边的问题了,而且sm.ms最大只支持上传5M的图,27M的图就算我这边想传都传不上去,更别说它根本就不让传这么大,我实在想不出是怎么出来的,我试了一下复制并粘到QQ聊天框里,就是它本来的大小呀,你这个问题很奇怪,你是什么系统?什么版本?每次都可以重现这个问题么? image

TigerBeanst commented 5 years ago

这就是我为什么主动关闭issues的问题……我在Windows10下操作的,问题就出在为什么chrome保存到剪贴板的时候会把原来2m的体积扩充到27m……我目前几次都是变成17m+的大文件,我一开始还疑惑为什么粘贴上传会这么久,最后发现是chrome把他体积弄的很大导致上传需要更多的时间

xiebruce commented 5 years ago

我用win10试了一下,chrome保存的图片也才一两M,这个大小应该是跟你显示器有关的,如果你的显示器很大分辨率又高,产生的图片是27M估计也有可能,不过我也是猜的,不知道你显示器多大?什么分辨率?

TigerBeanst commented 5 years ago

23.6寸好像,1080P,理论不会出现这些问题……

xiebruce commented 5 years ago

嗯,chrome是最新吗?不是的话可以更新试试,另外用firefox试试,也一样么?IE就别试了,不支持ES6,就算IE11我用个反引号也报错。。。