微信小程序之下载(下载文件tempFilePath后缀unknown)

时间:2024-03-09 09:54:00

1.下载文件

使用downloadFile下载API

/* 直接这样写的话,会出现下载文件后缀名为unknown的情况 */
wx.downloadFile({
  url: \'\',
  success (res) {
    console.log(res.filePath);
  }
})

改进后的下载保存

/* 使用时间戳为下载后的文件的名字 */
let fileName = new Date().valueOf();
wx.downloadFile({
  /* url 为要下载的文件链接 */
  url: \'\',
  /* filePath指定文件下载后存储的路径,wx.env.USER_DATA_PATH */
  filePath: wx.env.USER_DATA_PATH + \'/\' + fileName + \'.mp4\', 
  success: res => {
    let filePath = res.filePath;
    wx.saveVideoToPhotosAlbum({
      filePath,
      success: file => {
        wx.hideLoading();
        /* 删除缓存 */
        let fileMgr = wx.getFileSystemManager();
        fileMgr.unlink({
           filePath: wx.env.USER_DATA_PATH + \'/\' + fileName + \'.mp4\',
           success: function (r) {

           },
        })
     },
     fail: err => {
        wx.hideLoading();
        /* 拒绝授权时显示 */
        if (err.errMsg === \'saveVideoToPhotosAlbum:fail auth deny\') {
          wx.showModal({
            title: \'提示\',
            content: \'需要您授权保存相册\',
            showCancel: false,
            success: data => {
              /* 打开权限设置 */
              wx.openSetting({
                success: setting => {
                  if (setting.authSetting[\'scope.writePhotosAlbum\']) {
                    wx.showModal({
                      title: \'提示\',
                      content: \'获取权限成功,再次点击下载即可保存\',
                      showCancel: false,
                    })
                  } else {
                    wx.showModal({
                      title: \'提示\',
                      content: \'获取权限失败,将无法保存到相册哦\',
                      showCancel: false,
                    })
                  }
                },
              })
            }
          })
        }
      },
  },
  fail: err => {
    wx.hideLoading();
    if (err.errMsg == \'downloadFile:fail createDownloadTask:fail url not in domain list\') {
        wx.showToast({
          title: \'服务器错误,请联系相关管理员\',
          icon: \'none\'
        })
     }
  },
  complete: () => {
    wx.hideLoading();
  }
})

资源搜索网站大全 https://www.renrenfan.com.cn 广州VI设计公司https://www.houdianzi.com

2.下载图片

下载图片的步骤和上面是一样的,就是在保存的时候,api使用的不一样

 
 wx.saveImageToPhotosAlbum({
    filePath: \'\',
    success: () => {}
})