我正在使用' express'上传文件模块。我必须使用node-exif阅读上传图片的EXIF数据。我不想将文件存储在磁盘上,上面的模块支持从缓冲区读取EXIF数据。我需要从上传的图像中读取缓冲区数据。这是上传代码:
var express = require('express');
var app = express();
var fs = require('fs');
var multiparty = require("multiparty");
module.exports.UploadImage = function (req, res, next) {
// Handle request as multipart
if (!req.files)
return res.status(400).send('No files were uploaded.');
var sampleFile = req.files.uploadedFile;
//Here I need to have the buffer.
res.send('Done!');
}
有人可以帮助我获取缓冲区数据,因为我对Node宇宙来说还不熟悉吗?
答案 0 :(得分:0)
我认为这就是你要找的东西
int increment = 0;
答案 1 :(得分:0)
以下是获取缓冲区的方法:
var express = require("express");
const fileUpload = require('express-fileupload');
var app = express();
app.use(fileUpload());
app.post("/upload", (req, res) => {
console.log(req.files.file);
res.status(200).send('Success!!!');
});
控制台输出:
{
name: 'task.txt',
data: <Buffer ef bb bf 37 38 37 39 34 38 36 34 0d 0a 37 38 37 39 ... 57 more bytes>,
size: 107,
encoding: '7bit',
tempFilePath: '',
truncated: false,
mimetype: 'text/plain',
md5: '6e37e5195b2acfcac7713952ba080095',
mv: [Function: mv]
}
您需要的是数据参数。 您可以将缓冲区解析为字符串,如下所示:
console.log(req.files.file.data.toString('utf8'));