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

vue如何獲取圖片流數(shù)據(jù)并展示

 更新時間:2023年09月26日 10:55:35   作者:程序員的脫發(fā)之路  
這篇文章主要介紹了vue如何獲取圖片流數(shù)據(jù)并展示問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、問題描述

該場景適用于所有后端傳遞圖片流數(shù)據(jù)給前端的情形

比如說當(dāng)我們在做登錄驗證是,我們可能需要從后端獲取驗證碼,這是后端傳遞給你的可能是一個圖片數(shù)據(jù)而不是驗證碼數(shù)字。

接口回參:

打印一下:

二、數(shù)據(jù)獲取

如果我們在請求接口獲取數(shù)據(jù)時不指定返回數(shù)據(jù)類型的話,我們獲取到的可能就是一堆亂碼數(shù)據(jù)。

因此我們在axios接口請求里面指定responseType為blob

再打印一下:

這就獲得一個封裝好的blob類型數(shù)據(jù)了

三、數(shù)據(jù)展示

獲取到數(shù)據(jù)之后要用img標簽進行展示,img標簽的src需要直接指向blob數(shù)據(jù)的話是沒有用的,所以我們要創(chuàng)建一個url來指向的的blob數(shù)據(jù),然后將url賦給img的src屬性。

1.window.URL.createObjectURL()

(1)URL

URL接口用于解析,構(gòu)造,規(guī)范化和編碼 URLs。

它通過提供允許您輕松閱讀和修改URL組件的屬性來工作。

通常,通過在調(diào)用URL的構(gòu)造函數(shù)時將URL指定為字符串或提供相對URL和基本URL來創(chuàng)建新的URL對象。

然后,您可以輕松讀取URL的已解析組成部分或?qū)RL進行更改。

如果瀏覽器尚不支持URL()構(gòu)造函數(shù),則可以使用Window中的Window.URL屬性。

確保檢查您的任何目標瀏覽器是否要求對此添加前綴。

(2)createObjectURL

createObjectURL返回一個DOMString包含一個唯一的blob鏈接(該鏈接協(xié)議為以blob:,后跟唯一標識瀏覽器中的對象的掩碼)。

2.封裝blob數(shù)據(jù)

3.將url的值賦給img標簽的src屬性

四、最終結(jié)果

五、另一種方式(FileReader)

我們使用FileReader API也可以實現(xiàn),不過我們是將file類型轉(zhuǎn)換為base64編碼,這樣img標簽就可以之間展示。

1.FileReader

FileReader 對象允許Web應(yīng)用程序異步讀取存儲在用戶計算機上的文件(或原始數(shù)據(jù)緩沖區(qū))的內(nèi)容,使用 File 或 Blob 對象指定要讀取的文件或數(shù)據(jù)。

其中File對象可以是來自用戶在一個元素上選擇文件后返回的FileList對象,也可以來自拖放操作生成的 DataTransfer對象,還可以是來自在一個HTMLCanvasElement上執(zhí)行mozGetAsFile()方法后返回結(jié)果。

詳細可見MDN的:FileReader

所以當(dāng)后端傳遞一個file類型或者前端用戶上傳一個文件時,我們可以使用FileReader來進行處理

2.具體實現(xiàn)

        let reader = new FileReader(); // 創(chuàng)建FileReader()實例
        reader.onload = function (evt) { // 當(dāng)文件讀取完成時會執(zhí)行onload事件
            //替換img標簽的url
            $("#showImg1").attr("src", evt.target.result);
            console.log(evt.target.result); // evt.target.result就是圖片文件的base64編碼
        }
        reader.readAsDataURL(imgFile); // 讀取imgFile文件

3.簡單介紹

簡單記錄一下FileRender的具體事件以及方法:

(1)事件

  • FileReader.onabort :處理abort (en-US)事件。該事件在讀取操作被中斷時觸發(fā)。
  • FileReader.onerror :處理error (en-US)事件。該事件在讀取操作發(fā)生錯誤時觸發(fā)。
  • FileReader.onload :處理load (en-US)事件。該事件在讀取操作完成時觸發(fā)。

(2)方法

  • FileReader.abort() :中止讀取操作。在返回時,readyState屬性為DONE。
  • FileReader.readAsArrayBuffer() :開始讀取指定的 Blob中的內(nèi)容, 一旦完成, result 屬性中保存的將是被讀取文件的 ArrayBuffer 數(shù)據(jù)對象.
  • FileReader.readAsBinaryString() :開始讀取指定的Blob中的內(nèi)容。一旦完成,result屬性中將包含所讀取文件的原始二進制數(shù)據(jù)。
  • FileReader.readAsDataURL() :開始讀取指定的Blob中的內(nèi)容。一旦完成,result屬性中將包含一個data: URL格式的Base64字符串以表示所讀取文件的內(nèi)容。
  • FileReader.readAsText() :開始讀取指定的Blob中的內(nèi)容。一旦完成,result屬性中將包含一個字符串以表示所讀取的文件內(nèi)容。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在vue路由上添加公共的路由前綴方式

    在vue路由上添加公共的路由前綴方式

    這篇文章主要介紹了在vue路由上添加公共的路由前綴方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue實現(xiàn)點擊隱藏與顯示實例分享

    vue實現(xiàn)點擊隱藏與顯示實例分享

    在本篇文章中小編給大家分享了vue如何實現(xiàn)點擊隱藏與顯示的相關(guān)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。
    2019-02-02
  • vue3 定義使用全局變量的示例詳解

    vue3 定義使用全局變量的示例詳解

    全局變量(函數(shù)等)可以在任意組件內(nèi)訪問,可以當(dāng)組件間的傳值使用,這篇文章給大家介紹vue3 定義使用全局變量的示例詳解,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • vue將毫秒數(shù)轉(zhuǎn)化為正常日期格式的實例

    vue將毫秒數(shù)轉(zhuǎn)化為正常日期格式的實例

    今天小編就為大家分享一篇vue將毫秒數(shù)轉(zhuǎn)化為正常日期格式的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue數(shù)組根據(jù)對象屬性去重和數(shù)組對象去重實現(xiàn)方式

    Vue數(shù)組根據(jù)對象屬性去重和數(shù)組對象去重實現(xiàn)方式

    文章介紹了兩種去重方法:一種是根據(jù)對象的`id`屬性去重,另一種是根據(jù)`id`和`name`屬性去重,通過`map()`和`filter()`方法結(jié)合`indexOf()`實現(xiàn)去重
    2025-12-12
  • Vue如何實現(xiàn)變量表達式選擇器

    Vue如何實現(xiàn)變量表達式選擇器

    這篇文章主要介紹了Vue如何實現(xiàn)變量表達式選擇器,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-02-02
  • 在Vue3中創(chuàng)建和使用自定義指令的實現(xiàn)方式

    在Vue3中創(chuàng)建和使用自定義指令的實現(xiàn)方式

    在現(xiàn)代前端開發(fā)中,Vue.js 是一個非常流行的框架,它提供了許多強大的功能來幫助開發(fā)者構(gòu)建高效的用戶界面,自定義指令是 Vue.js 的一個重要特性,它允許開發(fā)者擴展 HTML 元素的功能,本文將詳細介紹如何在 Vue3 中創(chuàng)建和使用自定義指令,并提供示例代碼來幫助理解
    2024-12-12
  • vue瀑布流組件實現(xiàn)上拉加載更多

    vue瀑布流組件實現(xiàn)上拉加載更多

    這篇文章主要為大家詳細介紹了vue瀑布流組件實現(xiàn)上拉加載更多,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • vue3使用svg圖標的多種方式總結(jié)

    vue3使用svg圖標的多種方式總結(jié)

    svg圖片在項目中使用的非常廣泛,下面這篇文章主要給大家介紹了關(guān)于vue3使用svg圖標的多種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • Vue版本演進之Vue3、Vue2.7與Vue2全面詳細對比

    Vue版本演進之Vue3、Vue2.7與Vue2全面詳細對比

    隨著前端技術(shù)的不斷發(fā)展,各種框架應(yīng)運而生,而Vue.js憑借其簡潔、靈活的特性,成為了許多開發(fā)者的首選,這篇文章主要介紹了Vue版本演進之Vue3、Vue2.7與Vue2全面詳細對比的相關(guān)資料,需要的朋友可以參考下
    2026-03-03

最新評論

商都县| 秦安县| 东方市| 宁都县| 凤庆县| 陆河县| 温宿县| 贵定县| 茂名市| 壤塘县| 万全县| 汝南县| 嘉禾县| 温宿县| 平邑县| 读书| 阿坝县| 新密市| 柞水县| 剑河县| 武川县| 嫩江县| 霍邱县| 湾仔区| 凉城县| 聂拉木县| 营山县| 凭祥市| 肥乡县| 类乌齐县| 长武县| 镇原县| 漳浦县| 澄城县| 永新县| 榆林市| 莆田市| 乌鲁木齐市| 新泰市| 专栏| 垦利县|