开发者社区> 问答> 正文

oss图片如何在上传时转换格式?

oss图片如何在上传时转换格式?

展开
收起
河水流流 2024-08-17 17:41:35 29 0
1 条回答
写回答
取消 提交回答
  • OSS本身不直接支持在上传时自动转换图片格式。你需要先将图片转换为所需的格式,然后再上传至OSS。可以采用以下步骤:

    1. 本地转换: 在上传前,使用本地图像处理工具或编程语言的库(如Python的Pillow库)将图片转换为目标格式。
    2. Base64转换方法: 若你有Base64编码的图片,可先将其转换为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的上传接口上传图片。
    3. 上传后转换: 上传图片到OSS后,可以利用OSS的图片处理服务,通过在图片URL后添加处理参数来动态转换格式。但请注意,这一步是在访问图片时进行转换,而非上传时。

    重要提示: 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

    OSS格式转换https://developer.aliyun.com/ask/635143

    格式转换https://help.aliyun.com/document_detail/44703.html

    2024-08-17 21:41:25
    赞同 2 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载