【小程序】uniapp微信小程序通过文件流下载文件

935 阅读1分钟

通过后台的接口获取返回的文件流,放到微信的文件管理器,因为是下载文件的需求, 但是小程序保存的文件有些手机会找不到文件, 打开文件再进行另存指定的位置会比较好

uni.request({
         url: http://xxx, //接口
         method: 'post',
         data: obj,
         responseType: 'arraybuffer',
         header: { 
             //请求头
             token: userToken
         },
         success: res => {
           if (res.statusCode === 200) {
              //全局唯一的文件管理器
              const fs = uni.getFileSystemManager(); 
              fs.writeFile({
                  //这里填文件的名字
                  filePath: wx.env.USER_DATA_PATH + "/xxx.pdf",   
                  data: res.data,
                  encoding: "binary",
                  success(res) {
                      uni.openDocument({  
                        showMenu: true,
                        filePath: wx.env.USER_DATA_PATH + "/xxx.pdf",
                        success: function(res) {
                           console.log('打开文档成功');
                         }
                      });
                  }
              })
            }
         },
         fail: err => {}})

image.png