国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用【Blob、Base64】?jī)煞N方式顯示【文本、圖片、視頻】 & 使用 video 組件播放視頻

這篇具有很好參考價(jià)值的文章主要介紹了使用【Blob、Base64】?jī)煞N方式顯示【文本、圖片、視頻】 & 使用 video 組件播放視頻。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Blob 顯示

Blob 對(duì)象的類型是由 MIME 類型(Multipurpose Internet Mail Extensions)來(lái)確定的。MIME 類型是一種標(biāo)準(zhǔn),用于表示文檔、圖像、音頻、視頻等多媒體文件的類型。以下是一些常見(jiàn)的 Blob 對(duì)象類型:

  • text/plain:純文本文件。
  • text/html:HTML文件。
  • text/xml:XML文件。
  • image/png:PNG格式的圖像文件。
  • image/jpeg:JPEG格式的圖像文件。
  • image/gif:GIF格式的圖像文件。
  • audio/mpeg:MP3格式的音頻文件。
  • video/mp4:MP4格式的視頻文件。

文本顯示

Blob(Binary Large Object)對(duì)象表示一個(gè)不可變的、原始數(shù)據(jù)的類文件對(duì)象。它的數(shù)據(jù)可以按文本或二進(jìn)制的格式進(jìn)行讀取,也可以轉(zhuǎn)換成 ReadableStream 來(lái)用于數(shù)據(jù)操作。

new Blob([text], {type: 'text/plain'}) 來(lái)創(chuàng)建一個(gè)包含字符串"測(cè)試 blog 文字顯示文本信息"的 Blob 對(duì)象。這個(gè)Blob對(duì)象的MIME類型是 “text/plain” ,表示它包含純文本數(shù)據(jù)。

顯示文字,使用 blob.text() 將其轉(zhuǎn)化為文本格式

<script setup>
import {ref} from 'vue';
import axios from 'axios';

let text = '測(cè)試 blog 文字顯示文本信息';
let blob = new Blob([text], {type: 'text/plain'});
let blobText = ref('');

blob.text().then(res => {
  console.log('text', res);
  blobText.value = res;
});
</script>

<template>
  <main>
    <div>{{ blobText }}</div>
  </main>
</template>

文本顯示

img blob顯示,前端,音視頻,前端,vue,html5,javascript

圖片顯示

要預(yù)覽 Blob 對(duì)象中的圖片,可以使用 JavaScript 中的 URL.createObjectURL() 方法。這個(gè)方法將 Blob 對(duì)象轉(zhuǎn)換為一個(gè) URL,然后可以將這個(gè) URL 賦值給 img 元素的 src 屬性

在發(fā)送請(qǐng)求是要注明參數(shù) responseType: 'blob'

<script setup>
import {ref} from 'vue';
import axios from 'axios';

let imgSrc = ref('');
axios.get('/api/minio/download', {params: {'fileName': '1.jpg'},responseType: 'blob'}).then(res => {
  // 二進(jìn)制文件
  let fileBinaryData = res.data;
  const blob = new Blob([fileBinaryData], {type: 'image/jpg'});
  const url = window.URL.createObjectURL(blob);
  console.log('url', url); // 輸出 url blob:http://127.0.0.1:5173/7328a00c-57e0-46c6-b508-29c5a5ce0c7f
  imgSrc.value = url;

});

</script>

<template>
  <main>
    <div>{{ blobText }}</div>
    <a-image
        :width="200"
        :src="imgSrc"
    />
  </main>
</template>

圖片顯示出來(lái)了

img blob顯示,前端,音視頻,前端,vue,html5,javascript

Base64 顯示

Base64 是一種將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成可打印字符的編碼方式。Base64 的底層原理是將 3 個(gè)字節(jié)的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為 4 個(gè)字節(jié)的打印字符,每個(gè)可打印字符對(duì)應(yīng) 6 個(gè)二進(jìn)制位

簡(jiǎn)單講就是,把亂碼不可讀的二進(jìn)制轉(zhuǎn)為可讀字符

二進(jìn)制流顯示

img blob顯示,前端,音視頻,前端,vue,html5,javascript

Blob 轉(zhuǎn) Base64

如果要二進(jìn)制轉(zhuǎn) Base64,就先把二進(jìn)制流轉(zhuǎn)成 Blob,再轉(zhuǎn)成 Base64

// blob 轉(zhuǎn) base64
const blob2Base64 = (blob) => {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.readAsDataURL(blob);
    reader.onload = () => resolve(reader.result);
    reader.onerror = (error) => reject(error);
  });
};

base64 結(jié)果顯示

img blob顯示,前端,音視頻,前端,vue,html5,javascript

Base64 顯示圖片

使用 base64 賦值給圖片的 src 也可以顯示出來(lái)

img blob顯示,前端,音視頻,前端,vue,html5,javascript

播放視頻

原生播放

http://localhost:7100//api/minio/download?fileName=demo-mp4.mp4 為視頻請(qǐng)求地址

<video width="1120" height="540" controls="controls" id="video" preload="auto"     >
  <source src="http://localhost:7100//api/minio/download?fileName=demo-mp4.mp4"   type="video/mp4">
</video>

img blob顯示,前端,音視頻,前端,vue,html5,javascript

使用組件播放

使用 vue3-video-play 播放,功能會(huì)比較多

npm 安裝

npm i vue3-video-play --save

局部使用

import 'vue3-video-play/dist/style.css'
import { videoPlay } from 'vue-video-play'

全局使用

import { createApp } from 'vue'
import App from './App.vue'
let app = createApp(App)
 
import vue3videoPlay from 'vue3-video-play' 
import 'vue3-video-play/dist/style.css'
app.use(vue3videoPlay)
 
app.mount('#app')

方案一(直接請(qǐng)求視頻路徑)

srcposter 都是直接請(qǐng)求的路徑

<vue3VideoPlay
    width="800px"
    title="鋼鐵俠"
    src="http://localhost:7100//api/minio/download?fileName=demo-mp4.mp4"
    poster="http://localhost:7100//api/minio/download?fileName=1.jpg"
    @play="onPlay"
    @pause="onPause"
    @timeupdate="onTimeupdate" />

方案二(轉(zhuǎn)成 Base64 播放)

將二進(jìn)制流轉(zhuǎn)成 Blob 后再轉(zhuǎn) Base64,再賦值給 srcposter ,實(shí)現(xiàn)播放

<vue3VideoPlay
    width="800px"
    title="鋼鐵俠"
    :src="videoSrc"
    :poster="imgSrc"
    @play="onPlay"
    @pause="onPause"
    @timeupdate="onTimeupdate" />

blob2Base64 方法實(shí)現(xiàn)在上面,這是 vue3 的代碼,可使用其他框架實(shí)現(xiàn),思路一致

let videoSrc = ref('');
axios.get('/api/minio/download', {params: {'fileName': 'demo-mp4.mp4'}, responseType: 'blob'}).then(res => {
  // 二進(jìn)制文件
  let fileBinaryData = res.data;
  const blob = new Blob([fileBinaryData], {type: 'video/mp4'});
  blob2Base64(blob).then(res => {
    videoSrc.value = res;
  });

img blob顯示,前端,音視頻,前端,vue,html5,javascript

更多屬性配置請(qǐng)查看文檔

vue3-video-play 文檔:Vue3VideoPlay (codelife.cc)

其他

文中使用到 MinIO 存放圖片,以及使用 SpringBoot 訪問(wèn)圖片,給前端提供了 api 接口

想要了解分布式對(duì)象存儲(chǔ) MinIO,可以閱讀一下博客內(nèi)容,希望對(duì)你有幫助

Linux 部署 MinIO 分布式對(duì)象存儲(chǔ) & 配置為 typora 圖床

SpringBoot 對(duì)接 MinIO 實(shí)現(xiàn)文件上傳下載刪除

了解更多 Linux 知識(shí),docker 安裝,服務(wù)部署,可以查看專欄

Linux 專欄 - 涼了的涼茶文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-774311.html

到了這里,關(guān)于使用【Blob、Base64】?jī)煞N方式顯示【文本、圖片、視頻】 & 使用 video 組件播放視頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • js實(shí)現(xiàn)base64、url和blob之間相互轉(zhuǎn)換的三種方式

    js實(shí)現(xiàn)base64、url和blob之間相互轉(zhuǎn)換的三種方式

    Blob對(duì)象表示一個(gè)不可變、原始數(shù)據(jù)的類文件對(duì)象,Blob表示的不一定是JavaScript原生格式的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于js實(shí)現(xiàn)base64、url和blob之間相互轉(zhuǎn)換的三種方式 url 轉(zhuǎn) base64 Blob 轉(zhuǎn) url Blob 轉(zhuǎn) base64 base64 轉(zhuǎn)Blob base64 轉(zhuǎn) url 一般來(lái)說(shuō)前端展示圖片會(huì)通過(guò)三種方式:

    2024年02月03日
    瀏覽(29)
  • js將圖片轉(zhuǎn)base64兩種方法

    第一種:Image + canvas 第二種:xhr + FileReader

    2024年02月11日
    瀏覽(26)
  • JS基于base64編碼加密解密文本和圖片(修訂)

    JS基于base64編碼加密解密文本和圖片(修訂)

    ? 密碼學(xué),體系太龐大了,常見(jiàn)的加密解密算法很多,這里僅介紹采用base64實(shí)現(xiàn)的加密解密的方法。 嚴(yán)格地說(shuō)base64不是加密算法,他只是一種編碼方式,是一種用64個(gè)字符來(lái)表示任意二進(jìn)制數(shù)據(jù)的方法。詳情可參見(jiàn)其它資料。 Base64編碼具有不可讀性,需要解碼后才能閱讀。

    2024年02月07日
    瀏覽(29)
  • html2canvas生成圖片地址Base64格式轉(zhuǎn)成blob在轉(zhuǎn)成file(二進(jìn)制)可正常發(fā)送(保姆教程,復(fù)制粘貼可用)

    html2canvas生成圖片地址Base64格式轉(zhuǎn)成blob在轉(zhuǎn)成file(二進(jìn)制)可正常發(fā)送(保姆教程,復(fù)制粘貼可用)

    開(kāi)始:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 最終結(jié)果:? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 1.?html2canvas方法生成的圖片地址已Base64編碼形式放在img標(biāo)簽src中可直接展示生成的圖片(注意 頁(yè)面標(biāo)簽獲取位置 ,還有個(gè) setTimeout 頁(yè)面渲染需要

    2024年02月13日
    瀏覽(27)
  • 如何將圖片轉(zhuǎn)化為base64編碼格式顯示

    base64編碼 是將數(shù)據(jù)用 64 個(gè)可打印的字符進(jìn)行編碼的方式,任何數(shù)據(jù)底層實(shí)現(xiàn)都是二進(jìn)制,所以都可以進(jìn)行 base64編碼,base64編碼 主要用在數(shù)據(jù)傳輸過(guò)程中(編碼、解碼)。而 Data URI 是將數(shù)據(jù)用 URI 的形式進(jìn)行展現(xiàn)。常用的是將圖片進(jìn)行 base64 編碼,用 Data URI 的形式進(jìn)行展現(xiàn),可

    2024年02月06日
    瀏覽(24)
  • 微信小程序中無(wú)法顯示base64圖片

    微信小程序中無(wú)法顯示base64圖片

    在微信小程序中展示圖片信息時(shí),后端返回的數(shù)據(jù)中的圖片地址位base64 在小程序進(jìn)行圖片渲染后,發(fā)現(xiàn)有一部分的圖片不能成功顯示,直接為空白,但是在調(diào)試器里查看圖片地址已經(jīng)注入進(jìn) src 里面了,嘗試將圖片地址復(fù)制出來(lái)用瀏覽器打開(kāi),發(fā)現(xiàn)可以正常顯示 圖片在瀏覽器

    2024年02月12日
    瀏覽(25)
  • uni-app 中圖片轉(zhuǎn) base64 以及 base64 轉(zhuǎn)圖片方式,超簡(jiǎn)單,超好用的圖片轉(zhuǎn)換工具,你值得擁有它。

    目錄 簡(jiǎn)介 使用方式 NPM install 安裝 直接下載 API pathToBase64 base64ToPath 提示:多個(gè)任務(wù)可以串行或者并行執(zhí)行 一款非常好用的插件,它就是 image-tools? 圖像轉(zhuǎn)換工具,可用于如下環(huán)境:uni-app、微信小程序、5+APP、瀏覽器(需允許跨域)。 NPM install 安裝 頁(yè)面引入js 即可使用 直接

    2024年02月08日
    瀏覽(368)
  • postman中如何顯示返回的base64圖片驗(yàn)證碼

    postman中如何顯示返回的base64圖片驗(yàn)證碼

    后端返回的代碼 將以上代碼中上面的一個(gè)字符串(即帶 data:image/jpeg;base64, )復(fù)制到 http://www.jsons.cn/img2base64 中然后點(diǎn)擊 追加img標(biāo)簽 即可將base64字符串轉(zhuǎn)為圖片 postman 中通過(guò)base64轉(zhuǎn)成圖片呢? postman 請(qǐng)求中返回的是base64字符串 然后在 Tests 中輸入如下代碼然后在直接查看即可

    2024年02月12日
    瀏覽(25)
  • HTML img 元素?zé)o法顯示 base64 圖片的可能原因

    如果使用 base64 編碼的圖片在 HTML 的 img 元素中無(wú)法顯示,可能有以下幾個(gè)原因: 1、語(yǔ)法錯(cuò)誤:img 元素中的 src 屬性必須以 \\\"data:\\\" 開(kāi)頭,后面跟著 MIME 類型和 base64 編碼的圖片數(shù)據(jù)。如果這個(gè)語(yǔ)法格式有誤,就無(wú)法正常顯示圖片。 2、MIME 類型錯(cuò)誤:如果指定的 MIME 類型與實(shí)際

    2024年02月05日
    瀏覽(19)
  • 【vue】 Tinymce 富文本編輯器 不想讓上傳的圖片轉(zhuǎn)換成base64,而是鏈接

    【vue】 Tinymce 富文本編輯器 不想讓上傳的圖片轉(zhuǎn)換成base64,而是鏈接

    前言:最近項(xiàng)目上需要使用富文本編輯器,覺(jué)得tinymce很不錯(cuò)就用了,具體怎么在項(xiàng)目中使用參考 【vue】 vue2 中使用 Tinymce 富文本編輯器 【vue】 Tinymce 數(shù)據(jù) 回顯問(wèn)題 | 第一次正?;仫@后面,顯示空白bug不能編輯 這兩天又遇到了新的問(wèn)題,圖片上傳后是看地址欄發(fā)現(xiàn)是base64的

    2024年02月14日
    瀏覽(306)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包