微信小程序保存文件流到本地

1、使用wx.request 后去文件流

注意请求时配置responseType: "arraybuffer" 属性,此属性是请求文件流,必须带入的属性

2、生成本地临时地址

使用wx.getFileSystemManager文件管理器生产本地临时地址

3、保存文件到本地

使用wx.saveVideoToPhotosAlbum 把视频文件保存到本地相册(此处是视频,图片请使用图片转有api),使用此api需要获取用户授权

整体代码

此处为部分代码

// 接口请求
    wx.request({
      url: "",// 后端接口地址
      header: {
        "content-type": "application/json"
      },
      method: "GET",
      responseType: "arraybuffer", //此处是请求文件流,必须带入的属性
      success: rest => {
        if(rest.statusCode === 200){
          const fs = wx.getFileSystemManager(); //获取全局唯一的文件管理器
          fs.writeFile({ // 写文件
            filePath: wx.env.USER_DATA_PATH + "/myvideo.mp4", // wx.env.USER_DATA_PATH 指定临时文件存入的路径,后面字符串自定义
            data: rest.data,
            encoding: "binary", //二进制流文件必须是 binary
            success (res){
              wx.saveVideoToPhotosAlbum({ // 新开页面打开文档
                filePath: wx.env.USER_DATA_PATH + "/myvideo.mp4",  //拿上面存入的文件路径
                success: function (res) {
                  
                }
              })
            }
          });
        }
      }
    })

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。