2017-07-14 10 views
0
var http = require('http'), 
url = require('url'), 
fs = require('fs'); 
var express = require('express') 
, app = module.exports = express(); 
var router=express.Router(); 
//var fs = require('fs'); 
// string generated by canvas.toDataURL() 
router.get('/', function(req, res, next){ 
var img = 
"Right_9660009901_20170707_172902_1023927555.jpg"; 
// strip off the data: url prefix to get just the base64-encoded bytes 
var fs = require("fs"); 
fs.writeFile("image.jpg", new Buffer(img, "base64"), function(err) {}); 
}); 

上記のコードでbase64は正しい画像に変換されず、画像が壊れているか、このコードで何が間違っていますか?base64は変換されていない画像です画像が破損しているか画像を開くことができません

答えて

0

img変数を実際の画像ではなくbase64エンコードされたバッファに変換しようとしています。イメージファイルをバッファに読み込んだ後、ファイルに書き込む必要があります。

router.get('/', function(req, res, next){ 
    fs.readFile(img, { encoding: 'base64'}, function (err, data) { 
    if (err) { 
     throw err; 
    } 

    fs.writeFile("image.jpg", data, function(err) { 
     if (err) { 
      throw err; 
     } 
     res.send("Successfully converted the image") 
    }); 
    }); 
}); 
関連する問題