前端自动生成缩略图
公司前端开发中遇到一个需求,我用的是H5的FormData方法让用户上传图片的,现在的需求是除了用户上传的这张图片,希望能自动生成一张较小的缩略图,原图和缩略图都需要把生成的src路径传到后台去。
请问各位,缩略图该如何生成?
我到网上搜了一圈,好像基本都是用七牛和又拍云提供的服务,除了他们的服务,原生的办法有没有什么方法可以实现这个需求呢?
貌似canvas可以做到,具体怎么做呢?请指教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正如“ William007”自己说的,方法就是如此。其实挺简单的,可以参考我的多图压缩上传的组件。http://git.oschina.net/tmnet/jQuery_image_muti_upload
组件内部就有压缩上传的功能。我没有使用formData的方式上传,而是转化为base64字符串上传到服务器,然后在服务器再还原为图片。一般来说base64编码后的大小要比原来大四分之一吧。所以性能不如formData。自己权衡,看你喜欢了。
刚才突然想到了一个方法。
把图片传到后端之后然后把图片取过来用drawImage方法放到页面的canvas里,
设置一个较小的尺寸,然后再保存canvas中的图片传到后端。
这样子似乎就可以实现了,一会来试一下,各位大神有更好的方法请补充一下。