开发者社区> 问答> 正文

oss nodejs base64格式上传

nodejs上传base64格式图片的时候,看到 https://help.aliyun.com/document_detail/63401.html?spm=a2c4g.11186623.6.953.76ed78898z6EuX
有个函数
  1. function dataURLtoFile(dataurl, filename) {
  2. let arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
  3. bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
  4. while(n--){
  5. u8arr[n] = bstr.charCodeAt(n);
  6. }
  7. return new File([u8arr], filename, {type:mime});
  8. }

  9. let file = dataURLtoFile('<base64 content>', '');

  10. client.multipartUpload('<oss file name>', file).then( (res)=> {
  11. console.log(res)
  12. }).catch((err) => {
  13. console.log(err)
  14. });

使用的时候提示

atob is not defined
File is not defined

展开
收起
magics 2018-09-25 10:26:20 3477 0
1 条回答
写回答
取消 提交回答
  • atob和File都是浏览器API

    node.js中可以通过下面的函数实现:

    function atob(str) {
      return Buffer.from(str, 'base64').toString('binary');
    }
    

    File读取文件也需要使用fs.readFile File

    2020-03-31 11:43:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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