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

vue3中做文件預(yù)覽的項(xiàng)目實(shí)踐

 更新時(shí)間:2025年01月13日 10:48:43   作者:孫懟懟啊  
本文主要介紹了在Vue3項(xiàng)目中實(shí)現(xiàn)常見文件類型的預(yù)覽功能,包括docx、xlsx、pdf、txt、png、jpg、jpeg、mp4和mp3,具有一定的參考價(jià)值,感興趣的可以了解一下

以vue3為基礎(chǔ),針對常見文件類型做項(xiàng)目內(nèi)的預(yù)覽功能

涉及到的文件類型有docx,xlsx,pdf,txt,png,jpg,jpeg,mp4,mp3,

這里你可能會(huì)疑惑為什么docx,xlsx都支持,為啥不順帶支持下doc和docx呢???
這里我也表示很難啊,針對老版本格式的文檔,沒有合適的解決方案,如果說一定要有,那就只能是通過下載的方式本地預(yù)覽了 ┭┮﹏┭┮

開整開整~

1. docx文檔預(yù)覽解決方案

安裝下依賴這里呢我用的是1.6.2版本

npm i @vue-office/docx
或者
yarn add @vue-office/docx

模版代碼塊里面這里呢支持的屬性分別介紹下

  • src:資源路徑http://116.228.88.26:52800/nymanagerFile/group1/M00/00/B8/rBwWM2aGQyCAGisxAAqcqJw-Cq468.docx
  • style:自定義樣式
  • rendered:渲染完成后調(diào)用
  • error:渲染失敗后調(diào)用
<vue-office-docx
 :src="previewSrc"
 :style="comStyle"
 @rendered="renderedHandler"
 @error="errorHandler"
/>

script 標(biāo)簽內(nèi)

<script setup>
//	獲取父組件傳遞的資源url
const props = defineProps({
  previewSrc: {
    type: String,
    required: false,
    default: () => ''
  }
});
//引入VueOfficeDocx組件相關(guān)
import VueOfficeDocx from '@vue-office/docx'
import '@vue-office/docx/lib/index.css'
</script>

運(yùn)行成功之后展示

在這里插入圖片描述

2. xlsx文檔預(yù)覽解決方案

安裝下依賴這里呢我用的是1.7.8版本

npm i @vue-office/excel
或者
yarn add @vue-office/excel

模版代碼塊里面這里呢支持的屬性分別介紹下

  • src:資源路徑http://116.228.88.26:52800/nymanagerFile/group1/M00/00/B8/rBwWM2aGQyCAGisxAAqcqJw-Cq468.xlsx
  • style:自定義樣式
  • rendered:渲染完成后調(diào)用
  • error:渲染失敗后調(diào)用
<vue-office-excel
 :src="previewSrc"
 :style="comStyle"
 @rendered="renderedHandler"
 @error="errorHandler"
/>

script 標(biāo)簽內(nèi)

<script setup>
//	獲取父組件傳遞的資源url
const props = defineProps({
  previewSrc: {
    type: String,
    required: false,
    default: () => ''
  }
});
//引入VueOfficeExcel組件相關(guān)
import VueOfficeExcel from '@vue-office/excel'
import '@vue-office/excel/lib/index.css'
</script>

運(yùn)行成功之后展示

在這里插入圖片描述

3. pdf&txt文檔預(yù)覽解決方案

無需安裝依賴這里呢采用的是iframe方式來展示,因?yàn)槟豬frame是自帶支持pdf和txt的

模版代碼塊里面這里呢支持的屬性分別介紹下

  • src:資源路徑http://116.228.88.26:52800/nymanagerFile/group1/M00/00/B8/rBwWM2aGQyCAGisxAAqcqJw-Cq468.pdf
   <iframe
      :src="previewSrc"
    ></iframe>

script 標(biāo)簽內(nèi)

<script setup>
//	獲取父組件傳遞的資源url
const props = defineProps({
  previewSrc: {
    type: String,
    required: false,
    default: () => ''
  }
});
</script>

運(yùn)行成功之后展示

在這里插入圖片描述

4. video文檔預(yù)覽解決方案

安裝下依賴這里呢我用的是1.3.2版本

npm i vue3-video-play
或者
yarn add vue3-video-play

可以選擇在入口文件里面導(dǎo)入一下

// 視頻播放器組件
import App from './App'
const app = createApp(App)
import vue3videoPlay from 'vue3-video-play' // 引入組件
import 'vue3-video-play/dist/style.css' // 引入css
app.use(vue3videoPlay)

這里導(dǎo)入的時(shí)候回存在一個(gè)問題,就是依賴包引入的路徑回有問題,會(huì)導(dǎo)致項(xiàng)目在運(yùn)行的時(shí)候報(bào)錯(cuò)。這里給出解決方案======》需要將依賴包中package.json文件中的’module’改為"./dist/index.mjs"

在這里插入圖片描述

模版代碼塊里面

<vue3VideoPlay
  width="100%"
  title="鋼鐵俠"
  :src="previewSrc"
  :poster="options.poster"
  @play="onPlay"
  @pause="onPause"
  @timeupdate="onTimeupdate"
  @canplay="onCanplay"
/>

script 標(biāo)簽內(nèi)

<script setup>
  <script setup>
import { reactive } from 'vue';

const props = defineProps({
  previewSrc: {
    type: String,
    required: false,
    default: () => ''
  },
});
console.log('資源地址:',props.previewSrc);
const options = reactive({
//   src: "https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/IronMan.mp4", //視頻源
  poster: '', //封面
})
const onPlay = (ev) => {
//   console.log('播放')
}
const onPause = (ev) => {
//   console.log(ev, '暫停')
}
const onTimeupdate = (ev) => {
//   console.log(ev, '時(shí)間更新')
}
const onCanplay = (ev) => {
//   console.log(ev, '可以播放')
}
</script>

運(yùn)行成功之后展示

在這里插入圖片描述

5. audio(MP3等)文檔預(yù)覽解決方案

這里呢?zé)o需要裝第三方依賴,使用audio標(biāo)簽

**模版代碼塊里面**
```javascript
<audio
   controls
   controlsList="nodownload"
   style="width: 100%;"
 >
   <source
     :src="previewSrc"
     type="audio/mp3"
   >
   您的瀏覽器不支持audio標(biāo)簽。
 </audio>

script 標(biāo)簽內(nèi)

<script setup>
//	獲取父組件傳遞的資源url
const props = defineProps({
  previewSrc: {
    type: String,
    required: false,
    default: () => ''
  }
});
</script>

運(yùn)行成功之后展示

在這里插入圖片描述

到此這篇關(guān)于vue3中做文件預(yù)覽的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)vue3 文件預(yù)覽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • vue.js利用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定

    vue.js利用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定

    本篇文章主要介紹了用Node.js當(dāng)作后臺(tái)、jQuery寫前臺(tái)AJAX代碼實(shí)現(xiàn)用戶登錄和注冊的功能的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • vue axios封裝及API統(tǒng)一管理的方法

    vue axios封裝及API統(tǒng)一管理的方法

    這篇文章主要介紹了vue axios封裝以及API統(tǒng)一管理 ,需要的朋友可以參考下
    2019-04-04
  • vue實(shí)現(xiàn)用戶登錄切換

    vue實(shí)現(xiàn)用戶登錄切換

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)用戶登錄切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • vue跳轉(zhuǎn)頁面的幾種方法(推薦)

    vue跳轉(zhuǎn)頁面的幾種方法(推薦)

    這篇文章主要介紹了vue不同方法跳轉(zhuǎn)頁面,本文給大家分享多種方法,通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Vue.js實(shí)現(xiàn)實(shí)例搜索應(yīng)用功能詳細(xì)代碼

    Vue.js實(shí)現(xiàn)實(shí)例搜索應(yīng)用功能詳細(xì)代碼

    本文給大家分享Vue.js實(shí)現(xiàn)實(shí)例搜索應(yīng)用功能詳細(xì)代碼,非常不錯(cuò),感興趣的朋友參考下吧
    2017-08-08
  • vue實(shí)現(xiàn)計(jì)算器功能

    vue實(shí)現(xiàn)計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 對 Vue-Router 進(jìn)行單元測試的方法

    對 Vue-Router 進(jìn)行單元測試的方法

    這篇文章主要介紹了對 Vue-Router 進(jìn)行單元測試的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue3配置bem樣式架構(gòu)的代碼詳解

    Vue3配置bem樣式架構(gòu)的代碼詳解

    BEM是一種前端命名方法論,主要是針對CSS,意思是塊(Block)、元素(Element)、修飾符(Modifier)的簡寫,這種命名方法讓CSS便于統(tǒng)一團(tuán)隊(duì)開發(fā)規(guī)范和方便維護(hù),本文給大家介紹了Vue3配置bem樣式架構(gòu),需要的朋友可以參考下
    2024-10-10
  • 詳解關(guān)于Vue2.0路由開啟keep-alive時(shí)需要注意的地方

    詳解關(guān)于Vue2.0路由開啟keep-alive時(shí)需要注意的地方

    這篇文章主要介紹了關(guān)于Vue2.0路由開啟keep-alive時(shí)需要注意的地方,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • 詳解vuejs中執(zhí)行npm run dev出現(xiàn)頁面cannot GET/問題

    詳解vuejs中執(zhí)行npm run dev出現(xiàn)頁面cannot GET/問題

    這篇文章主要介紹了詳解vuejs中執(zhí)行npm run dev出現(xiàn)頁面cannot GET/問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評論

万全县| 濮阳市| 永川市| 屏山县| 集贤县| 毕节市| 汉源县| 铁岭县| 丹江口市| 仙游县| 三穗县| 溧阳市| 田林县| 新沂市| 瓮安县| 社会| 栖霞市| 定结县| 洛川县| 惠东县| 海淀区| 太和县| 荆州市| 兴业县| 上虞市| 兴国县| 青州市| 平度市| 修武县| 高青县| 安达市| 定襄县| 冀州市| 滦平县| 府谷县| 红原县| 邵阳市| 泰安市| 泽州县| 普兰县| 宜城市|