小程序批量下载图片至本地相册

881 阅读1分钟

export type MaterialCodeType = { imgUrl: string }[];
/**
   * @description 下载文件至本地
   * @param filesUrl 文件地址url
   */
  const downloadFiles = (filesUrl: MaterialCodeType, count: number ) => {
    const downloadTask = wx.downloadFile({
      url: filesUrl[count].imgUrl,
      success: res => {
        // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
        if (res.statusCode === 200) {
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success: data => {
              setDownloadCount(count + 1);
            }
          });
        }
      },
      fail: res => {
      // 自定义根据需求定义
        console.log(res, '失败');
      }
    });

    // 监听下载进度 将异步下载处理成同步
    downloadTask.onProgressUpdate(res => {
      if (res.progress === 100 && count < filesUrl.length - 1) {
        downloadFiles(filesUrl, count + 1);
      }
    });
  };
  
  // 调用
  downloadFiles(filesList, 0);

参考微信小程序开发api:developers.weixin.qq.com/miniprogram…