最佳答案
;
有没有一种方法可以直接在浏览器端压缩图像(主要是 jpeg、 png 和 gif) ,然后再上传?我非常肯定 JavaScript 可以做到这一点,但是我找不到实现它的方法。
下面是我想要实现的完整场景:
input type="file"
元素选择一个图像,整个过程直到最后一步应该做客户端,并应兼容最新的 Chrome 和 Firefox,Safari 5 + 和 IE8 + 。如果可能的话,应该只使用 JavaScript (但我很确定这是不可能的)。
我现在还没有编写任何代码,但我已经想过了。通过 文件 API可以本地读取文件,图像预览和编辑可以使用 画布元素,但 我找不到图像压缩。
根据 Html5please. com和 Caniuse.com,支持这些浏览器是相当困难的(感谢 IE) ,但可以做到使用多填充,如 FlashCanvas和 文件阅读器。
实际上,我们的目标是减少文件大小,所以我认为图像压缩是一个解决方案。但是,我知道上传的图片将在我的网站上显示,每次在同一个地方,我知道这个显示区域的尺寸(例如200x400)。因此,我可以调整图像的大小,以适应这些尺寸,从而减少文件大小。我不知道这项技术的压缩比。
你觉得怎么样?你有什么建议要告诉我吗?你知道用 JavaScript 压缩图像浏览器端的方法吗?谢谢你的回复。