在nodejs中保存图像的字节数组

时间:2015-05-19 09:35:51

标签: node.js express mongoose

我正在使用后端作为Mongoose,nodejs和express工作。前端是一个android应用程序.API是使用Mongoose,nodejs和express创建的,android应用程序正在使用我的API来获取和设置数据。现在我必须创建一个帖子API' / uploadImage',这样Android应用程序只会传递'字节数组'作为发布数据的图像到' / uploadImage'。我必须解析这个字节的图像数组并将图像保存到一个目录。

代码我试图使用强大的上传文件:

exports.uploadFile = function(req, res) {
    var dirpath = config.root + '/files/Documents/';
    var form = new formidable.IncomingForm();
    form.parse(req, function(err, data, files) {
        fs.readFile(files.file.path, function(err, data) {
            var newPath = dirpath + files.file.name;
            fs.writeFile(newPath, data, function(err) {
                if (!err) {
                    var filePath = '/files/Documents/' + files.file.name;
                    res.send(filePath);
                }
            });
        });
    });
};

这很好用。在这里我得到的文件不是字节数组。所以我能够将文件保存到各自的目录中。我不知道它如何与字节数组一起使用。

1 个答案:

答案 0 :(得分:0)

我已通过以下方式解决了这个问题。

 var rawImg = req.body.imageByteArray,
    base64Data = rawImg.replace(/^data:image\/png;base64,/, ''),
    dirpath = config.root + '/files/Documents/',
    imageName = req.body.filename + '.png',
    imageLocation = dirpath + imageName;
  fs.writeFile(imageLocation, base64Data, 'base64', function(err) {});