簡體   English   中英

PNG圖像的$áa$ I $ I $$…-Vue / Node / Express |如何顯示從Node.js服務器發送到客戶端Vue應用程序的圖像?

[英]$�a �$I��"I�$�… for PNG image - Vue/Node/Express | How do I display an image that I sent from a Node.js server to a client Vue app?

使用Node / Express,我有以下路線:

 app.get('/get-image', function(req, res) { ... res.sendFile(path.join(__dirname, '..', account.profileImg)); }) 

在我的客戶端Vue應用程序中,我試圖顯示從服務器接收到的圖像。當前,我正在將文件發送到控制台,並且得到了這些奇怪的字符:

04f \ @7 \ T n __ \\ u0004 \\ f \\ u0002#....以此類推...很長的字符串

標頭說它是類型“ content-type:“ image / png”“,這很好,因為我試圖顯示圖像。

我需要怎么做才能將此字符串轉換為可見圖像? 我可以以HTML標簽的形式傳遞給Vue組件的東西。

正確方向的任何提示/建議都將非常有用!

04f \ @7 \ T n__ \\ u0004 \\ f \\ u0002#

一種方法是使用btoa將圖像數據作為base64結束編碼的字符串發送,使用響應中的編碼字符串設置圖像的src屬性:

<img src=`data:image/png;base64,${data}`/>

否則,您也可以從Express返回響應圖像,例如:

let image = new Buffer(imageData, 'base64');

res.writeHead(200, {
  'Content-Type': 'image/png',
  'Content-Length': image.length
});
res.end(image); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM