美文网首页IT 全栈开发
JS stream blob 数据流 文件下载

JS stream blob 数据流 文件下载

作者: 醋留香 | 来源:发表于2022-05-27 11:04 被阅读0次
    1. 准备外网资源地址,利用前端的 ajax 或 axios 技术来完成文件下载
    2. 此时会发现 请求跨域了,我们可以利用node + koa 搭建代理服务器来完成对资源的请求
    3. node 服务器中 准备 接口, 去请求外网资源地址
    router.get('/abc', async (ctx, next) => {
      // 地址可能会失效,需要大家自己去准备一下
      var mp3_url = "https://ld-sycdn.kuwo.cn/b82dc6e3ace7633ef0a7b79a7bceef32/628f4a38/resource/n3/68/76/2597978293.mp3"
    
      ctx.body = await new Promise((resolve, reject) => {
        axios({
          method: "get",
          url: mp3_url,
          responseType: 'stream',
        })
          .then((res) => {
            resolve(res.data)
          }).catch((err) => {
            console.log("请求出错")
            console.log(err)
            reject(err)
          })
      })
    });
    
    1. 前端js代码
           // 导入 js-file-download 模块
            var fileDownload = require('js-file-download');
    
    
            axios({
                method: 'get',
                url: "http://localhost:3000/abc",
                responseType: 'blob',
            })
                .then(res => {
                    console.log('请求成功。。。。。');
                    fileDownload(res.data, './static/测试.mp3');
                })
                .catch(err => {
                    alert('请求出错');
                    alert(JSON.stringify(err));
               });
    
    

    相关文章

      网友评论

        本文标题:JS stream blob 数据流 文件下载

        本文链接:https://www.haomeiwen.com/subject/xnymprtx.html