当前位置:   article > 正文

Buffer转成ArrayBuffer后再转成Blob_buffer转blob

buffer转blob

Buffer  -> ArrayBuffer

const arraybuffer = new Int8Array(buffer.data);

ArrayBuffer  -> Blob

const blob = new Blob([arraybuffer], { type : 'application/pdf'});

项目案例:前端通过 ajax(responseType = 'blob')获取文件数据进行下载。代码如下,downloadFromS3 是共通方法通过 AWS S3 获取文件,因为返回的是 nodejs 的 Buffer 类型。前端 ajax 会自动转换为 blob 类型,所以没有问题。

但是现在后端可能会报 error ,想让前端截获 error ,这时前端会将 error 信息转换成 blob。如果读取 blob 信息也可以获取 error 信息,但是有没有其它方法,比如 responseType = 'json' 就可以正常读到 error 信息,但是前端怎么将 buffer 转换为 blob 呢?

后端 express.js

  1. app.get('/', async (req, res) => {
  2. const pdf = await downloadFromS3("pdf/胡雨南的简历.pdf");
  3. res.send(pdf);
  4. })

前端 index.js

<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/145166
推荐阅读
相关标签
  

闽ICP备14008679号