亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NodeJS編寫base64圖像文件

NodeJS編寫base64圖像文件

MYYA 2019-11-28 10:57:20
我的NodeJS服務器收到一個圖片base64編碼。data:image/jpeg;base64,/9j/4QCcRXhpZgAASUkqAAgAAAA ... CiiigD//Z收到的數據應另存為jpg。因此,我使用了Buffer和FileSystemWriter:var imageBuffer = new Buffer(data, 'base64'); //console = <Buffer 75 ab 5a 8a ...fs.writeFile("test.jpg", imageBuffer, function(err) { //... });fs.writeFile不會調用錯誤。jpeg文件已保存,但無法打開。圖像查看器說:File is damaged or too big.原始文件大6kb,新文件大7kb。
查看完整描述

3 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

另一種方法是在去除元信息后fs.writeFile與編碼選項一起使用base64。


var image = 'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAA..kJggg==';


var data = image.replace(/^data:image\/\w+;base64,/, '');


fs.writeFile(fileName, data, {encoding: 'base64'}, function(err){

  //Finished

});


查看完整回答
反對 回復 2019-11-28
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

試試這個簡單的方法


 var imgData = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA..kJggg==';

var base64Data = imgData.replace(/^data:image\/png;base64,/, "");



require("fs").writeFile("out.png", base64Data, 'base64', 

function(err, data) {

if (err) {

    console.log('err', err);

}

console.log('success');


});

focuse在這里1)data:image/png;base有png 2)replace(/^data:image\/png;在這里也png和名稱必須與3保存)writeFile("out.png png


查看完整回答
反對 回復 2019-11-28
  • 3 回答
  • 0 關注
  • 850 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號