使用vue實(shí)現(xiàn)pdf預(yù)覽功能的方法
背景:材料上傳之后點(diǎn)擊預(yù)覽實(shí)現(xiàn)在瀏覽器上預(yù)覽的效果
效果如下:
實(shí)現(xiàn)代碼如下://預(yù)覽和下載操作
<el-table-column fixed="right" label="操作" width="210"> <template #default="scope"> <span @click="handleRowClick(scope.row)" class="table-btn btn-handle" ><i class="ri-eye-line"></i>預(yù)覽</span > <span @click="handleDownLoadClick(scope.row)" class="table-btn btn-handle" ><i class="ri-download-2-line"></i>下載</span > </template> </el-table-column> // 材料預(yù)覽 export function materialPreview(data) { return Http.request({ url: '/file/preview', method: 'get', responseType: 'blob', data: data }); } //預(yù)覽彈窗 <el-dialog title="預(yù)覽" :visible.sync="PreviewDialogVisible" append-to-body width="70%" center > <div> <iframe :src="pdfSrc" width="100%" height="800px"></iframe> </div> </el-dialog> //data中定義的變量 data() { return { pdfSrc: "", downloadUrl: "http://10.110.96.76/", PreviewDialogVisible: false, } } //預(yù)覽代碼 handleRowClick(row) { materialPreview({ fileName:row.fileName, realFileName:row.fileName, }).then((res) => { console.log(res); const blob = new Blob([res.data], { type: "application/pdf" }); this.pdfSrc = window.URL.createObjectURL(blob); this.$nextTick(() => { this.PreviewDialogVisible = true; }); console.log(this.pdfSrc); //window.open(this.pdfSrc) //新窗口打開,借用瀏覽器去打印 }); } //下載代碼 handleDownLoadClick(data) { if (data.downloadUrl != null) { window.open(this.downloadUrl + data.downloadUrl); } },
后臺(tái)返回的流文件格式
到此這篇關(guān)于vue實(shí)現(xiàn)pdf預(yù)覽功能的方法的文章就介紹到這了,更多相關(guān)vue實(shí)現(xiàn)pdf預(yù)覽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue自定義js圖片碎片輪播圖切換效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue自定義js圖片碎片輪播圖切換效果的實(shí)現(xiàn)代碼,需要的朋友可以參考下2019-04-04vue 數(shù)據(jù)操作相關(guān)總結(jié)
這篇文章主要介紹了vue 數(shù)據(jù)操作的相關(guān)資料,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-12-12Vue.extend 登錄注冊(cè)模態(tài)框的實(shí)現(xiàn)
這篇文章主要介紹了Vue.extend 登錄注冊(cè)模態(tài)框的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12vue之elementUi的el-select同時(shí)獲取value和label的三種方式
這篇文章主要介紹了vue之elementUi的el-select同時(shí)獲取value和label的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Vue2和Vue3在v-for遍歷時(shí)ref獲取dom節(jié)點(diǎn)的區(qū)別及說明
這篇文章主要介紹了Vue2和Vue3在v-for遍歷時(shí)ref獲取dom節(jié)點(diǎn)的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03使用element-ui,el-row中的el-col數(shù)據(jù)為空頁(yè)面布局變亂問題
這篇文章主要介紹了使用element-ui,el-row中的el-col數(shù)據(jù)為空頁(yè)面布局變亂問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Django+Vue.js實(shí)現(xiàn)搜索功能
本文主要介紹了Django+Vue.js實(shí)現(xiàn)搜索功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06vue使用require.context實(shí)現(xiàn)動(dòng)態(tài)注冊(cè)路由
這篇文章主要介紹了vue使用require.context實(shí)現(xiàn)動(dòng)態(tài)注冊(cè)路由的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼
本文主要介紹了element-plus 下拉框?qū)崿F(xiàn)全選的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05