OSS本身不直接支持在上传时自动转换图片格式。你需要先将图片转换为所需的格式,然后再上传至OSS。可以采用以下步骤:
File
对象,如下所示: javascript function dataURLtoFile(dataurl, filename) { let arr = dataurl.split(','); let mime = arr[0].match(/:(.*?);/)[1]; let bstr = atob(arr[1]); let n = bstr.length; let u8arr = new Uint8Array(n); while(n--){ u8arr[n] = bstr.charCodeAt(n); } return new File([u8arr], filename, {type:mime}); }
然后,使用此File
对象通过OSS的上传接口上传图片。 重要提示: OSS图片处理格式转换支持的原图格式有JPG、PNG、BMP、GIF、WebP、TIFF、HEIC。 - 目标转换格式包括JPG、PNG、WebP、BMP、GIF和TIFF。
综上,直接在上传过程中转换格式需客户端先行处理,之后再执行OSS上传操作。
参考链接:
格式转换https://help.aliyun.com/zh/oss/user-guide/convert-image-formats-2
Node.js常见问题https://help.aliyun.com/zh/oss/developer-reference/faq-21
Browser.js常见问题https://help.aliyun.com/zh/oss/developer-reference/faq
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。