1. 程式人生 > 實用技巧 >微信小程式之下載(下載檔案tempFilePath字尾unknown)

微信小程式之下載(下載檔案tempFilePath字尾unknown)

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: () => {}
})