微信小程序下載文件到本地

問題描述

文件下載不了也打開失敗,微信裏說有10m可是沒有10m的文件也下載不了,爲何呢?微信

緣由

以前下載了一些內容已經超過10m,須要清理 url

解決方案

微信文檔中描述的是本地文件存儲的大小限制爲 10M, 因此在下載以前能夠先清空以前存儲的垃圾數據code

下載文件到本地的具體過程

使用 wx.downloadFile 先下載文件,再使用 wx.saveFile 將下載的臨時文件保存到本地,再使用 wx.openDocument 打開保存後的文件。blog

wx.getSavedFileList({  // 獲取文件列表
  success(res) {
    res.fileList.forEach((val, key) => { // 遍歷文件列表裏的數據
      // 刪除存儲的垃圾數據
      wx.removeSavedFile({
        filePath: val.filePath
      });
    })
  }
})
wx.downloadFile({
      url: 下載文件的地址,
      success: function (res) {
        const tempFilePath = res.tempFilePath;
        // 保存文件
        wx.saveFile({
          tempFilePath,
          success: function (res) {
            const savedFilePath = res.savedFilePath;
            // 打開文件
            wx.openDocument({
              filePath: savedFilePath,
              success: function (res) {
                console.log('打開文檔成功')
              },
            });
          },
          fail: function (err) {
            console.log('保存失敗:', err)
          }
        });
      },
      fail: function (err) {
        console.log('下載失敗:', err);
      },
    });
相關文章
相關標籤/搜索