vue 預(yù)覽視頻與pdf

沒有用插件。最后的呈現(xiàn)是點擊彭则,將內(nèi)容打開一個新頁。

總體思路大概是占遥,視頻放video標(biāo)簽里贰剥,pdf放iframe里。
說完了哈哈哈哈哈哈哈哈哈哈

這次的需求是上傳一個文件筷频,限制文件為mp4和pdf蚌成,大小不超過500M。
上傳文件是放在新增和修改的彈出框內(nèi)凛捏,所以需要和新增修改一起完成担忧。
emmm我的意思是,點擊“上傳文件”時坯癣,不調(diào)取接口瓶盛,先完成本地文件的預(yù)覽。等到確定新增和修改時示罗,一起惩猫。

總體思路大概是,在上傳的按鈕下有一個容器蚜点,用v-if控制顯隱轧房;
里面還有倆容器,上傳文件為視頻時video绍绘,為pdf時為iframe奶镶。

效果圖 ??
空狀態(tài)
視頻
pdf

代碼說明: elementui自帶的action我不會用。陪拘。每次都是給個占位符厂镇,最后使用http-request。accept為限制文件格式左刽。show-file-list為顯隱文件列表捺信。。這個我也沒用過欠痴。迄靠。我覺得它不好看哈哈哈哈哈哈哈哈哈哈
寫的過程中發(fā)現(xiàn)iframe無法添加點擊事件,我去百度斋否。梨水。就。茵臭。emmm.....很麻煩疫诽。。為了省事我加了一個容器旦委,設(shè)置定位到iframe一樣的位置奇徒,相當(dāng)于我們看到的還是iframe爸特點擊到的其實是那個隱形的容器~~

上代碼 ??

           <el-upload
              class="upload-demo"
              action="#"
              :http-request="handleUpload"
              accept=".pdf, .mp4"
              :show-file-list="false"
            >
              <el-button size="mini" type="primary">點擊上傳</el-button>
              <div slot="tip" class="el-upload__tip">
                只能上傳mp4/pdf文件,且不超過500k
              </div>
            </el-upload>
            <div class="preview-container" v-if="preview" @click="handlePlay">
              <video
                v-if="fileType === 'mp4'"
                alt="視頻預(yù)覽"
                width="100px"
                height="100px"
                :src="articleUrl"
              />
              <div class="pdf-container">
                <iframe
                  v-if="fileType === 'pdf'"
                  :src="articleUrl"
                  frameborder="0"
                ></iframe>
                <!-- 隱形的容器~~ -->
                <div class="frame-wrap"></div>
              </div>
            </div>

style ↓ 樣式不對尼萌就自己再調(diào)調(diào)昂主要是看frame-wrap的~

.preview-container {
  margin-top: 20px;
  width: 100px;
  height: 100px;
}
.pdf-container {
  width: 100%;
  height: 100px;
  overflow: hidden;
  position: relative;
}
.frame-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

script標(biāo)簽內(nèi)的methods ↓ (endsWith('文件類型')是昨天才學(xué)到的一個獲取文件類型的方法缨硝,會有一個boolean返回值)

    // 上傳方法
    handleUpload(file) {
      if (file.file.size > 512000) {
        this.$message("文件最大500K");
        return;
      }
      this.file = file.file;
      // 兩種顯示的路徑都設(shè)置成articleUrl摩钙。至此完成預(yù)覽
      this.articleUrl = URL.createObjectURL(this.file);
      // let type = file.file.name.substr(-3);
      // ↑這句是知道endsWith之前獲取文件類型的愚蠢方式哈哈哈哈哈哈
      
      // 頁面中用fileType來判斷容器的顯隱
      file.file.name.endsWith("mp4")
        ? (this.fileType = "mp4")
        : (this.fileType = "pdf");
      this.preview = true;
    },
    // 打開新頁呈現(xiàn)文件預(yù)覽
    handlePlay() {
      window.open(this.articleUrl, "_blank");
    },

tada~視頻及pdf的預(yù)覽及查看就完成啦

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市查辩,隨后出現(xiàn)的幾起案子胖笛,更是在濱河造成了極大的恐慌网持,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件长踊,死亡現(xiàn)場離奇詭異功舀,居然都是意外死亡,警方通過查閱死者的電腦和手機身弊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門辟汰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人阱佛,你說我怎么就攤上這事帖汞。” “怎么了凑术?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵翩蘸,是天一觀的道長。 經(jīng)常有香客問我麦萤,道長鹿鳖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任壮莹,我火速辦了婚禮翅帜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘命满。我一直安慰自己涝滴,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布胶台。 她就那樣靜靜地躺著歼疮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诈唬。 梳的紋絲不亂的頭發(fā)上韩脏,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機與錄音铸磅,去河邊找鬼赡矢。 笑死,一個胖子當(dāng)著我的面吹牛阅仔,可吹牛的內(nèi)容都是我干的吹散。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼八酒,長吁一口氣:“原來是場噩夢啊……” “哼空民!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起羞迷,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤界轩,失蹤者是張志新(化名)和其女友劉穎画饥,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浊猾,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡荒澡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了与殃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡碍现,死狀恐怖幅疼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昼接,我是刑警寧澤爽篷,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站慢睡,受9級特大地震影響逐工,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜漂辐,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一泪喊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧髓涯,春花似錦袒啼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至包各,卻和暖如春摘仅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背问畅。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工娃属, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人按声。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓膳犹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親签则。 傳聞我的和親對象是個殘疾皇子须床,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 前言 由于新冠肺炎疫情,現(xiàn)在成天呆在家里渐裂,加上也要準備面試豺旬,就在家里看面試題钠惩,看著網(wǎng)上一堆面試題,決定收集常見題目...
    天行健_96e7閱讀 6,923評論 0 3
  • 百度編輯器不止可以上傳圖片和文字族阅,還可以上傳文件篓跛,但是文件是當(dāng)成附件來顯示的,并不可以直接顯示文件的內(nèi)容坦刀,就像下面...
    月_隨緣閱讀 6,660評論 4 0
  • 1 痛苦場景分享 大二的時候,輔導(dǎo)員讓我填一個表格盖奈。表格發(fā)過來的時候混坞,我傻眼了,是PDF格式的钢坦!我要怎么編輯究孕! 然...
    938d310bd785閱讀 563評論 0 4
  • 0 在還沒有掌握全部證據(jù)之前就下結(jié)論會犯嚴重的錯誤,會使判斷帶有偏見爹凹〕睿——《血字的研究》 “齊識,路老板又來郵件了...
    ThoughtWorks閱讀 975評論 3 5
  • 0x00 前言 繼上篇文章《制作CHM文件后門》逛万,成功制作了一份具有欺騙性的CHM幫助文件泳猬,并通過郵件發(fā)送給了女神...
    快要沒時間了閱讀 5,157評論 1 2