Tauri、Vue3應(yīng)用中解析本地二進制圖像文件的解決方案
本文探討在使用Tauri、Vue3和markdown-it構(gòu)建的Markdown解析器中,由于安全策略限制導致本地圖片無法顯示的問題,并提供最終解決方案。
問題:該工具使用v-html
渲染Markdown文件中的圖片(相對路徑)。開發(fā)模式下圖片正常顯示,但構(gòu)建后,即使路徑轉(zhuǎn)換為絕對路徑(例如:https://tauri.localhost/img/xxx.png
),瀏覽器安全策略仍阻止前端訪問本地圖片。
嘗試:修改tauri.conf.json
中的CSP策略(例如將img-src
設(shè)置為*
)無效。嘗試了兩種方案:1. 使用Tauri的fs
API讀取本地文件;2. 在Rust后端讀取二進制文件,將數(shù)據(jù)傳遞給前端,使用Blob對象解析。兩種方案均導致圖片顯示損壞或無法加載,懷疑問題在于Vue.js的圖片解析或數(shù)據(jù)格式。
初始前端代碼嘗試將二進制數(shù)據(jù)轉(zhuǎn)換為字符串,再使用window.btoa
編碼為base64,最后設(shè)置img
元素的src
屬性。
最終解決方案:使用Blob對象和URL.createObjectURL
方法生成URL。代碼如下:
let img_path = "E:/myProjects2/tauri_vue/mdren/img/a-1-01.png"; const contents = await readBinaryFile(img_path); // 假設(shè)readBinaryFile函數(shù)已定義 let blob = new Blob([contents], { type: "image/png" }); async function reloadImg() { let img_element = document.querySelectorAll("#img-to-remove"); img_element.forEach(async (element) => { element.src = URL.createObjectURL(blob); }); }
原因分析:之前的方案失敗可能由于CSP配置錯誤或Rust后端數(shù)據(jù)傳遞問題。使用Blob對象和URL.createObjectURL
直接創(chuàng)建圖片URL,繞過了安全策略限制,成功解決了圖片顯示問題。
以上是Tauri Vue3應(yīng)用中:如何正確解析本地二進制圖像文件?的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

1、首先確保設(shè)備網(wǎng)絡(luò)穩(wěn)定并有足夠的存儲空間;2、通過官方提供的下載地址[adid]fbd7939d674997cdb4692d34de8633c4[/adid]進行下載;3、根據(jù)設(shè)備提示完成安裝,官方渠道安全可靠;4、安裝完成后可體驗與HTX、歐易等平臺相媲美的專業(yè)交易服務(wù);新版本5.0.5功能亮點包括:1、優(yōu)化用戶界面,操作更直觀便捷;2、提升交易性能,減少延遲與滑點;3、增強安全防護,采用先進加密技術(shù);4、新增多種技術(shù)分析圖表工具;使用時需注意:1、妥善保管賬戶密碼,避免在公共設(shè)備登錄;2、

首先通過官方渠道下載幣安App以確保安全。1. 安卓用戶應(yīng)訪問官網(wǎng),確認網(wǎng)址正確后下載Android安裝包,開啟瀏覽器的“允許安裝未知來源應(yīng)用”權(quán)限,完成安裝后建議關(guān)閉該權(quán)限。2. 蘋果用戶需使用非中國大陸Apple ID(如美國或香港地區(qū)),在App Store中登錄該ID后搜索并下載“Binance”官方應(yīng)用,安裝后可切換回原Apple ID。3. 下載后務(wù)必啟用雙重驗證(2FA)并保持應(yīng)用更新,以保障賬戶安全。整個過程必須通過官方途徑操作,避免點擊不明鏈接。

首先選擇信譽良好的數(shù)字資產(chǎn)平臺,1、推薦幣安、歐易、火幣、大門交易所等主流平臺;2、訪問官網(wǎng)點擊“注冊”,使用郵箱或手機號并設(shè)置高強度密碼;3、完成郵箱或手機驗證碼驗證;4、登錄后進行身份驗證(KYC),提交身份證明文件并完成人臉識別;5、啟用雙重身份驗證(2FA)、設(shè)置獨立資金密碼,并定期檢查登錄記錄以確保賬戶安全,最終成功開通并管理USDT虛擬幣賬戶。

歐意(Ouyi)APP是一款專業(yè)的數(shù)字資產(chǎn)服務(wù)平臺,致力于為全球用戶提供安全、穩(wěn)定且高效的交易體驗。本文將詳細介紹其官方版v6.129.0的下載方式與核心功能,幫助用戶快速上手。該版本在用戶體驗、交易性能和安全性方面進行了全面升級,旨在滿足不同層次用戶的多樣化需求,讓用戶可以便捷地管理和交易其數(shù)字資產(chǎn)。

首先選擇信譽良好的交易平臺如幣安、歐易、火幣或大門交易所;1、注冊賬戶并設(shè)置強密碼;2、完成身份驗證(KYC)提交真實證件;3、通過C2C交易選擇合適商家購買USDT并完成支付;4、啟用雙重身份驗證、設(shè)置資金密碼并定期檢查賬戶活動以確保安全,整個流程需在官方平臺操作以防范網(wǎng)絡(luò)釣魚,最終順利完成USDT的購買與安全管理。

穩(wěn)定幣因其價值穩(wěn)定、避險屬性和廣泛的應(yīng)用場景而備受青睞。1. 在市場劇烈波動時,穩(wěn)定幣可作為避風港,幫助投資者鎖定利潤或規(guī)避虧損;2. 作為高效的交易媒介,穩(wěn)定幣連接法幣與加密世界,交易速度快、手續(xù)費低,支持豐富的交易對;3. 是去中心化金融(DeFi)的基石。

歐意平臺提供安全便捷的數(shù)字資產(chǎn)服務(wù),用戶可通過官方渠道完成下載、注冊與認證。1、通過HTX或幣安等官網(wǎng)獲取應(yīng)用,進入官方地址下載對應(yīng)版本;2、根據(jù)設(shè)備選擇蘋果或安卓版,忽略系統(tǒng)安全提醒并完成安裝;3、使用郵箱或手機號注冊,設(shè)置強密碼并輸入驗證碼完成驗證;4、登錄后進入個人中心進行實名認證,選擇認證等級,上傳身份證件并完成人臉識別;5、審核通過后即可使用平臺核心功能,包括多樣化的數(shù)字資產(chǎn)交易、直觀的交易界面、多重安全防護及全天候客戶服務(wù)支持,全面開啟數(shù)字資產(chǎn)管理之旅。

以太坊(Ethereum)是一個基于區(qū)塊鏈技術(shù)的去中心化開源平臺,它允許開發(fā)者構(gòu)建和部署智能合約和去中心化應(yīng)用。其原生加密貨幣為以太幣(ETH),是全球市值領(lǐng)先的數(shù)字貨幣之一。
