将图像保存为base64,并使用path返回

我有点新的使用NodeJS,这是我第一次创build一个API,我上传一个angular度和ngfile upload到服务器的图像,这个想法是,API接收一个文件,编码它到base64,然后给我的对象与图像的path,然后显示在客户端。

config.js

'use strict' const express = require('express'); const bodyParser = require('body-parser'); const app = express(); const multer = require('multer'); const fs = require('fs-extra'); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization"); res.header("Access-Control-Allow-Methods", "GET,HEAD,POST,PUT,DELETE"); next(); }); app.use('/uploads', express.static("./uploads")); app.use(bodyParser.json()); var storage = multer.diskStorage({ //multers disk storage settings destination: function (req, file, cb) { let ind = file.mimetype.indexOf('/'); let type = file.mimetype.slice(0, ind); let path = `./uploads/${type}`; fs.mkdirsSync(path); cb(null, path); }, filename: function (req, file, cb) { var datetimestamp = Date.now(); var ind = file.originalname.indexOf('.'); var filename = file.originalname.slice(0 , ind); cb(null, filename+ '-' + datetimestamp + '.' + file.originalname.split('.')[file.originalname.split('.').length -1]) } }); var upload = multer({ //multer settings storage: storage }).single('avatar', 12); /** API path that will upload the files */ app.post('/upload', function(req, res) { upload(req,res,function(err){ if(err){ res.json({error_code:1,err_desc:err}); return; } res.json(req.file); console.log(req.file) }); }); 

我怎么能做到这一点,我正在使用快递和multer上传文件。 这个想法是这样的"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAgAElEQV"