前端实现 压缩图片(可降低分辨率)后提交后台

2017-10-26 17:22:47 +08:00
 wanderingFaker

网上看到有通过画布来实现的,有谁做过吗

2712 次点击
所在节点    问与答
3 条回复
coderluan
2017-10-26 17:29:10 +08:00
noe132
2017-10-26 18:22:18 +08:00
很简单,new 一个 canvas,然后将 img 元素调整合适的大小画到 canvas 上,然后再导出成 jpg 或 png 的 dataurl。直接提交 dataurl 给后台。如果是 form data 的 filetype,把 dataurl 转成 blob 就可以了。通过设置 canvas 的大小和 jpg 的压缩比例就能控制图片质量。
foru17
2017-10-26 18:40:15 +08:00
转 dataurl 后,由于编码问题,除非减少图片尺寸,要不然很难降低实际图片文件大小。这个需要一个平衡。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401016

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX