前端小程序?qū)崿F(xiàn)預(yù)覽pdf并導(dǎo)出完整代碼
一、前言
小程序沒辦法直接導(dǎo)出pdf或一些文檔,只能借助api先將文件下載下來并打開,再讓用戶手動去保存。之前做“小程序當(dāng)前頁面截圖轉(zhuǎn)pdf導(dǎo)出”功能的時(shí)候,小程序好像也無法實(shí)現(xiàn)。所以要打開文件,都讓后端去做吧,要么給前端一個(gè)文件地址,要么返回二進(jìn)制文件流,這樣小程序就能打開文件了。
二、需要的wx api
- downloadFile(下載文件)
- openDocument(打開文件)
showMenu設(shè)置為true才能支持用戶把文件下載到本地
三、完整代碼
const preViewPdf = (url) => { // 預(yù)覽pdf uni.showLoading({ title: '加載中', mask: true }) return new Promise((resolve, reject) => { uni.downloadFile({ url: baseUrl + url, header: { 'Authorization': store.state.token }, success: (res) => { if (res.statusCode === 200) { uni.openDocument({ filePath: res.tempFilePath, showMenu: true, //顯示右上角三個(gè)點(diǎn),支持手動保存到本地 success: (res) => { uni.hideLoading() resolve(true) }, fail: (err) => { uni.hideLoading() resolve(true) uni.showToast({ title: '打開失敗', icon: 'none' }) } }) } }, fail: (err) => { uni.hideLoading() uni.showToast({ title: '下載失敗', icon: 'none' }) } }) }) }
總結(jié)
到此這篇關(guān)于前端小程序?qū)崿F(xiàn)預(yù)覽pdf并導(dǎo)出的文章就介紹到這了,更多相關(guān)前端小程序預(yù)覽pdf并導(dǎo)出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入聊聊Array的sort方法的使用技巧.詳細(xì)點(diǎn)評protype.js中的sortBy方法
深入聊聊Array的sort方法的使用技巧.詳細(xì)點(diǎn)評protype.js中的sortBy方法...2007-04-04JS獲取當(dāng)前時(shí)間的兩種方法小結(jié)
這篇文章主要給大家介紹了關(guān)于JS獲取當(dāng)前時(shí)間的兩種方法,在web開發(fā)中,通過js獲取時(shí)間非常的常用,我這里做個(gè)總結(jié),需要的朋友可以參考下2023-09-09JavaScript中的toString()和toLocaleString()方法的區(qū)別
本文給大家介紹JavaScript中的toString()和toLocaleString()方法的區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02如何使用JS獲取當(dāng)前節(jié)點(diǎn)的兄弟/父/子節(jié)點(diǎn)
在日常的網(wǎng)頁開發(fā)中,我們會遇到獲取節(jié)點(diǎn)的問題,而js是寫網(wǎng)頁的最基礎(chǔ)的語言,也是最常用的,這篇文章主要給大家介紹了關(guān)于如何使用JS獲取當(dāng)前節(jié)點(diǎn)的兄弟/父/子節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2023-04-04js中關(guān)于String對象的replace使用詳解
關(guān)于String對象的replace使用詳解,需要的朋友可以參考下。2011-05-05javascript和jquery中cookie的設(shè)置方法
Cookie 是瀏覽器訪問服務(wù)器后,服務(wù)器傳給瀏覽器的一段數(shù)據(jù)。瀏覽器需要保存這段數(shù)據(jù),不會輕易刪除(保存在計(jì)算機(jī)中)。此后每次瀏覽器訪問該服務(wù)器,都必須帶上這段數(shù)據(jù)。這篇文章主要介紹了javascript和jquery中cookie的設(shè)置方法2023-07-07JS實(shí)現(xiàn)頁面跳轉(zhuǎn)與刷新的方法匯總
這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)頁面跳轉(zhuǎn)與刷新的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08詳解如何使用JavaScript中Promise類實(shí)現(xiàn)并發(fā)任務(wù)控制
在JavaScript中,Promise是一種用于管理異步操作的強(qiáng)大工具,但是,有時(shí)候需要更高級的控制,以限制同時(shí)執(zhí)行的任務(wù)數(shù)量,以避免系統(tǒng)資源超負(fù)荷,本文將深入探討JavaScript中的并發(fā)任務(wù)控制,并介紹如何創(chuàng)建一個(gè)自定義的Promise類——ConcurrentPromise2023-08-08