最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序?qū)崿F(xiàn)打開并下載服務(wù)器上面的pdf文件到手機(jī)

 更新時(shí)間:2019年09月20日 09:14:28   作者:@Grapefruit  
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)打開并下載服務(wù)器上面的pdf文件到手機(jī),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

談一談ios的bug:

        關(guān)于ios系統(tǒng)的bug這塊也是快把柚子給逼瘋了啊,ios系統(tǒng)是沒有文件管理的,柚子用了很多辦法,最后終于確定不管用什么辦法ios都是實(shí)現(xiàn)不了下載的,只能實(shí)現(xiàn)在線查看。所以沒辦法,如果不考慮兼容ios的話,是很簡單就能解決的,但是我想沒有哪一個(gè)小程序會(huì)不讓你兼容ios的吧!

先看一下不兼容ios系統(tǒng)的下載柚子是怎么實(shí)現(xiàn)的吧:

        首先我們需要在頁面里寫入一個(gè)按鈕,用來觸發(fā)pdf的打開和下載,寫上點(diǎn)擊事件

//查看并下載
See_download() {
   wx.downloadFile({//下載
    url: url,//服務(wù)器上的pdf地址
    filePath: wx.env.USER_DATA_PATH + '/test.pdf',//自定義文件地址
    success: function (res) {
     var filePath = res.filePath
     wx.openDocument({//打開
      filePath: filePath,
      success: function (res) {}
     })
    }
   })
}

     OK,執(zhí)行完成后就已經(jīng)下載了,并且也已經(jīng)打開了,但是柚子剛剛就說了,ios是不支持下載的,也就是說ios可以正常打開,但是不能下載,就是這樣,另外安卓的是下載了,但是不太好找,他的存放目錄是:文件管理/Tencent/MicroMsg/wxanewfiles/一個(gè)名字很長的文件夾/test.pdf

好了,這就是不兼容ios下載的方法,但是遇到問題了總要想辦法解決的啊,最后實(shí)在沒辦法了,只能稍微改一下需求,改成了轉(zhuǎn)發(fā),反正下載下來也是要發(fā)給別人看的嘛,還不如直接點(diǎn)擊按鈕實(shí)現(xiàn)轉(zhuǎn)發(fā)給微信好友了呢

但是微信小程序的轉(zhuǎn)發(fā)是只能轉(zhuǎn)發(fā)頁面的,所以柚子就新建了一個(gè)專門存放pdf文件的頁面,我們默人打開這個(gè)頁面就自動(dòng)打開pdf也是一樣的效果:下面是實(shí)現(xiàn)思路,僅供參考:

   1、首先需要一個(gè)轉(zhuǎn)發(fā)按鈕,要獲取微信的通訊錄的話,按鈕中需要加入open-type="share"這個(gè)屬性的

<button type="primary" size="mini" open-type="share" > 轉(zhuǎn)發(fā) </button>

  2、有了轉(zhuǎn)發(fā)按鈕我們直接在頁面中寫方法即可:

onShareAppMessage: function (res) {
  return {
   title: '轉(zhuǎn)發(fā)的標(biāo)題',
   path: '/pages/pdf/pdf?url=' + this.data.url,//這個(gè)url是要帶到轉(zhuǎn)發(fā)的那個(gè)頁面的
   imageUrl: '/static/images/pdf.png', //圖片可以是本地圖片
  }
},

//注:此方法是不用點(diǎn)擊事件觸發(fā)的,只要有open-type="share"就會(huì)觸發(fā),還有就是此方法是不能異步獲取參數(shù)的,所有要帶到轉(zhuǎn)發(fā)頁面的參數(shù)都要在轉(zhuǎn)發(fā)之前獲取到

   3、下面就是轉(zhuǎn)發(fā)的頁面中的內(nèi)容了,要在打開這個(gè)頁面的時(shí)候就進(jìn)入pdf文件,為了頁面的美觀,柚子又做了一些優(yōu)化,不需要的可以忽略,下面是代碼:

<view>
 <view class="btn_box" wx:if="{{show_btn}}">
  <button type="primary" bindtap="home">返回首頁</button>
  <navigator class="back" open-type="exit" target="miniProgram">關(guān)閉小程序</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({
 /**
  * 頁面的初始數(shù)據(jù)
  */
 data: {
  check:0,
  url:'',
  show_btn:false,
 },
 /**
  * 生命周期函數(shù)--監(jiān)聽頁面加載
  */
 onLoad: function (options) {
  this.setData({
   url: options.url
  })
 },
 // 返回首頁
 home(){
  wx.reLaunch({
   url: '/pages/index/index'
  })
 },
 /**
  * 生命周期函數(shù)--監(jiān)聽頁面顯示
  */
 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
   })
  }
 }, 
})

好了就是這些了,如果還有不懂的朋友歡迎咨詢,另外如果有更好的辦法,或者是支持ios下載pdf的文件的,或者轉(zhuǎn)發(fā)pdf的更好的方法也希望能告訴柚子一下,柚子感激不盡!

總結(jié)

以上所述是小編給大家介紹的微信小程序?qū)崿F(xiàn)打開并下載服務(wù)器上面的pdf文件到手機(jī),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • javascript之大字符串的連接的StringBuffer 類

    javascript之大字符串的連接的StringBuffer 類

    javascript之大字符串的連接的StringBuffer 類...
    2007-05-05
  • JS插件overlib用法實(shí)例詳解

    JS插件overlib用法實(shí)例詳解

    這篇文章主要介紹了overlib用法,結(jié)合實(shí)例較為詳細(xì)的分析了JavaScript插件overlib的相關(guān)使用技巧,需要的朋友可以參考下
    2015-12-12
  • 淺析js中substring和substr的方法

    淺析js中substring和substr的方法

    這篇文章主要介紹了js中substring和substr的方法,對(duì)substring和substr的方法進(jìn)行描述和說明,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 微信小程序獲取地理位置及經(jīng)緯度授權(quán)代碼實(shí)例

    微信小程序獲取地理位置及經(jīng)緯度授權(quán)代碼實(shí)例

    這篇文章主要介紹了微信小程序獲取地理位置及經(jīng)緯度授權(quán)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 屏蔽IE彈出"您查看的網(wǎng)頁正在試圖關(guān)閉窗口,是否關(guān)閉此窗口"的方法

    屏蔽IE彈出"您查看的網(wǎng)頁正在試圖關(guān)閉窗口,是否關(guān)閉此窗口"的方法

    本篇文章主要是對(duì)屏蔽IE彈出"您查看的網(wǎng)頁正在試圖關(guān)閉窗口,是否關(guān)閉此窗口"的方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-12-12
  • Three.js中矩陣和向量的使用教程

    Three.js中矩陣和向量的使用教程

    這篇文章主要給大家介紹了關(guān)于Three.js中矩陣和向量使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Three.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • webpack構(gòu)建的詳細(xì)流程探底

    webpack構(gòu)建的詳細(xì)流程探底

    目前,幾乎所有業(yè)務(wù)的開發(fā)構(gòu)建都會(huì)用到 webpack 。所以下面這篇文章主要給大家介紹了關(guān)于webpack構(gòu)建的詳細(xì)流程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2018-01-01
  • 深入淺析JavaScript函數(shù)前面的加號(hào)和嘆號(hào)

    深入淺析JavaScript函數(shù)前面的加號(hào)和嘆號(hào)

    這篇文章主要介紹了深入淺析JavaScript函數(shù)前面的加號(hào)和嘆號(hào)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • js中window.location.href的用法大全

    js中window.location.href的用法大全

    window.location.href是前端開發(fā)中一個(gè)非常重要且常用的屬性,它為我們提供了獲取和操作頁面URL的便捷手段,本文主要介紹了js中window.location.href的用法大全,感興趣的可以
    2023-12-12
  • webpack file-loader和url-loader的區(qū)別

    webpack file-loader和url-loader的區(qū)別

    這篇文章主要介紹了webpack file-loader和url-loader的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01

最新評(píng)論

和平县| 遂昌县| 龙江县| 关岭| 涪陵区| 象山县| 西安市| 松江区| 屯昌县| 宝鸡市| 广南县| 建昌县| 乌兰浩特市| 郴州市| 军事| 横峰县| 德保县| 宜昌市| 蒙阴县| 太仓市| 盐山县| 哈密市| 镇安县| 清原| 望都县| 会泽县| 陕西省| 永修县| 常州市| 余庆县| 甘洛县| 湟中县| 子长县| 揭阳市| 葫芦岛市| 万全县| 当阳市| 务川| 汉川市| 西乌珠穆沁旗| 修水县|