uniapp开发小程序-pc端小程序下载后端接口的二进制流文件

fileName包含文件名+后缀名,比如test.png这种格式
api.DownloadTmtFile后端接口返回的是文件的二进制流
值得注意的是,微信开发者工具中是测试不了wx.saveFileToDisk的,需要真机或者体验版测试

 handleDownload(fileName) {
    
    
      if (!fileName) return;
      uni.downloadFile({
    
    
        url: api.DownloadTmtFile + "?id=" + this.id,
        filePath: wx.env.USER_DATA_PATH + "/" + fileName,
        success(res) {
    
    
          console.log("res", res);
          if (res.statusCode == 200) {
    
    
           // 是微信特有的api,pc端会出现需要下载到哪里的文件框,这里没有实现预览功能,pc端用户自己下载完自己可以选择是否点开看,我觉得没有实现强制预览的必要性
            wx.saveFileToDisk({
    
    
              filePath: res.filePath,
              success: () => {
    
    
                util.showSuccessToast("保存成功");
              },
              fail: (err) => {
    
    
                util.showErrorToast("保存失败");
                console.log("err", err);
              },
            });
          }
        },
      });
    },

猜你喜欢

转载自blog.csdn.net/qq_42611074/article/details/134557466