TL; DR;
上传之前,有没有一种方法可以直接在浏览器端压缩图像(主要是jpeg,png和gif)?我很确定JavaScript可以做到这一点,但是我找不到实现它的方法。
这是我要实现的完整方案:
input type="file"
直到最后一步的整个过程都应该在客户端完成,并且应该与最新的Chrome和Firefox,Safari 5+和 IE 8+ 兼容。如果可能的话,应该只使用JavaScript(但是我很确定这是不可能的)。
我现在还没有编写任何代码,但是我已经考虑过了。可以通过FileAPI在本地读取文件,可以使用Canvas元素进行图像预览和编辑,但是 我找不到找到图像压缩部分的方法 。
根据html5please.com和caniuse.com的说法,要支持这些浏览器非常困难(由于IE),但是可以使用诸如FlashCanvas和FileReader之类的polyfill来实现。
实际上,目标是减小文件大小,因此我认为图像压缩是一种解决方案。但是,我知道上载的图像将每次都在同一位置显示在我的网站上,并且我知道该显示区域的尺寸(例如200x400)。因此,我可以调整图像大小以适合这些尺寸,从而减小文件大小。我不知道这种技术的压缩率是多少。
你怎么看 ?您有什么建议要告诉我吗?您知道在JavaScript中压缩图像浏览器端的任何方法吗?感谢您的答复。
简而言之: