最近做了幾個(gè)小程序,客戶的需求的讓用戶在小程序里下載文件,我就去微信開發(fā)者中心看文檔,發(fā)現(xiàn)有wx.downloadFile方法可供下載文件,當(dāng)時(shí)覺得原來下載文件原來很簡(jiǎn)單,等閱讀清楚后才發(fā)現(xiàn)沒那么簡(jiǎn)單,甚至可以說微信小程序除了能直接下載圖片以外(即使是下載圖片也要用戶授權(quán)同意保存才能下載),其他的文件一律無法下載的,下載圖片可以用wx.saveImageToPhotosAlbum方法,首次調(diào)用時(shí)會(huì)讓你授權(quán)是否同意保存,所謂的wx.downloadFile方法是用來把文件下載到小程序緩存里,然后你不可以直接保存到手機(jī)里,而只能對(duì)這個(gè)文件進(jìn)行操作,例如我們用wx.downloadFile方法下載一個(gè)zip文件,下載后可以對(duì)這個(gè)zip文件進(jìn)行解壓,獲取解壓后的zip文件夾里的文件列表和文件路徑等,但這些都沒有用,因?yàn)橛脩粜枰氖前褄ip文件下載到手機(jī)里,而不是在小程序里去查看zip里面的內(nèi)容,所以如果要實(shí)現(xiàn)下載的功能,如下圖所示:
我們只能讓用戶點(diǎn)擊下載時(shí),可以用 wx.getClipboardData方法復(fù)制文件的鏈接地址,然后把復(fù)制的文件地址粘貼到手機(jī)瀏覽器里打開,再下載文件,如下圖所示:
雖然微信小程序不支持直接的下載,但卻支持多種常見的文件類型可以用wx.openDocument方法直接預(yù)覽,如果最常見的pdf,docx,excel等文件,都是可以直接打開的,并且能兼容IOS和安卓的版本,唯一的區(qū)別是安卓在預(yù)覽時(shí),點(diǎn)擊右上角的...可以直接將文件保存到手機(jī)里,如下圖所示:
而IOS手機(jī)也可以預(yù)覽,但無法下載保存到手機(jī)里。
總結(jié)一下:如果是讓用戶下載圖片,可以使用wx.saveImageToPhotosAlbum方法讓用戶直接將圖片保存到手機(jī)里,如果是一些常用的文件,可以用wx.openDocument方法打開文件預(yù)覽,如果是一些特殊的文件類型,如果zip,rar等文件,建議使用復(fù)制文件鏈接到瀏覽打開下載。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://m.oulysa.com/news/6918.html