您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關微信小程序如何實現打開并下載服務器上面的pdf文件到手機的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
ios的bug:
關于ios系統的bug這塊也是快把柚子給逼瘋了啊,ios系統是沒有文件管理的,柚子用了很多辦法,最后終于確定不管用什么辦法ios都是實現不了下載的,只能實現在線查看。所以沒辦法,如果不考慮兼容ios的話,是很簡單就能解決的,但是我想沒有哪一個小程序會不讓你兼容ios的吧!
先看一下不兼容ios系統的下載柚子是怎么實現的吧:
首先我們需要在頁面里寫入一個按鈕,用來觸發pdf的打開和下載,寫上點擊事件
//查看并下載 See_download() { wx.downloadFile({//下載 url: url,//服務器上的pdf地址 filePath: wx.env.USER_DATA_PATH + '/test.pdf',//自定義文件地址 success: function (res) { var filePath = res.filePath wx.openDocument({//打開 filePath: filePath, success: function (res) {} }) } }) }
OK,執行完成后就已經下載了,并且也已經打開了,但是柚子剛剛就說了,ios是不支持下載的,也就是說ios可以正常打開,但是不能下載,就是這樣,另外安卓的是下載了,但是不太好找,他的存放目錄是:文件管理/Tencent/MicroMsg/wxanewfiles/
一個名字很長的文件夾/test.pdf
好了,這就是不兼容ios下載的方法,但是遇到問題了總要想辦法解決的啊,最后實在沒辦法了,只能稍微改一下需求,改成了轉發,反正下載下來也是要發給別人看的嘛,還不如直接點擊按鈕實現轉發給微信好友了呢
但是微信小程序的轉發是只能轉發頁面的,所以柚子就新建了一個專門存放pdf文件的頁面,我們默人打開這個頁面就自動打開pdf也是一樣的效果:下面是實現思路,僅供參考:
1、首先需要一個轉發按鈕,要獲取微信的通訊錄的話,按鈕中需要加入open-type="share"
這個屬性的
<button type="primary" size="mini" open-type="share" > 轉發 </button>
2、有了轉發按鈕我們直接在頁面中寫方法即可:
onShareAppMessage: function (res) { return { title: '轉發的標題', path: '/pages/pdf/pdf?url=' + this.data.url,//這個url是要帶到轉發的那個頁面的 imageUrl: '/static/images/pdf.png', //圖片可以是本地圖片 } },
//注:此方法是不用點擊事件觸發的,只要有open-type="share"
就會觸發,還有就是此方法是不能異步獲取參數的,所有要帶到轉發頁面的參數都要在轉發之前獲取到
3、下面就是轉發的頁面中的內容了,要在打開這個頁面的時候就進入pdf文件,為了頁面的美觀,柚子又做了一些優化,不需要的可以忽略,下面是代碼:
<view> <view class="btn_box" wx:if="{{show_btn}}"> <button type="primary" bindtap="home">返回首頁</button> <navigator class="back" open-type="exit" target="miniProgram">關閉小程序</navigator> </view> </view> /* pages/pdf/pdf.wxss */ .btn_box{ width: 100%; box-sizing: border-box; padding: 30rpx 5%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); margin-top: -50rpx; } button{ margin-top: 50rpx; height: 100rpx; line-height: 100rpx; } .back{ width: 100%; margin-top: 50rpx; height: 100rpx; line-height: 100rpx; color: #FFF; background-color: #E64340; box-sizing: border-box; font-size: 18px; text-align: center; border-radius: 10rpx; } // pages/pdf/pdf.js Page({ /** * 頁面的初始數據 */ data: { check:0, url:'', show_btn:false, }, /** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { this.setData({ url: options.url }) }, // 返回首頁 home(){ wx.reLaunch({ url: '/pages/index/index' }) }, /** * 生命周期函數--監聽頁面顯示 */ onShow: function () { var that = this wx.showLoading({ title: '加載中...', }) if(this.data.check == 0){ this.setData({ check:1 }) wx.downloadFile({ url: that.data.url, filePath: wx.env.USER_DATA_PATH + '/' + that.data.name, success: function (res) { var filePath = res.filePath wx.openDocument({ filePath: filePath, success: function (res) { wx.hideLoading(); } }) } }) }else{ wx.hideLoading(); this.setData({ show_btn:true }) } }, })
感謝各位的閱讀!關于“微信小程序如何實現打開并下載服務器上面的pdf文件到手機”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。