使用 mv 模块重命名包含缓冲区数据的文件时出错
Error when using mv module to rename a file with buffer data
我正在使用 express js 的 mv 模块,我在将上传的文件保存到我选择的特定目录时遇到问题。
当我访问我的文件数据时,我得到以下信息:
fieldname : 'file',
originalname : ....,
encoding :7bit,
mimetype 'image/jpeg',
buffer : <Buffer ff d8 ff e1 ...>
当我使用 mv 执行以下操作时:
mv( req.file.buffer , path.normalize(__dirname+'/public/uploads/'+ p._id +'.jpg'), {mkdirp: true} ,function(err){
if(err) console.log(err);
res.json({});
});
我看到一条错误消息:
"Path must be a string without null bytes."
我做错了什么?我该如何解决?
var fs = require('fs');
var OS = require('os');
var path = require('path');
var tmpPath = path.join(OS.tmpdir(), Date.now());
//saving file to tmp dir with random name
fs.writeFile(tmpPath, req.file.buffer, function(err) {
if (err) {
return res.error(err);
}
//moving file somewhere else
mv(tmpPath, path.normalize(__dirname+'/public/uploads/'+ p._id +'.jpg'), {mkdirp: true} ,function(err){
if(err) console.log(err);
res.json({});
});
})
我正在使用 express js 的 mv 模块,我在将上传的文件保存到我选择的特定目录时遇到问题。
当我访问我的文件数据时,我得到以下信息:
fieldname : 'file',
originalname : ....,
encoding :7bit,
mimetype 'image/jpeg',
buffer : <Buffer ff d8 ff e1 ...>
当我使用 mv 执行以下操作时:
mv( req.file.buffer , path.normalize(__dirname+'/public/uploads/'+ p._id +'.jpg'), {mkdirp: true} ,function(err){
if(err) console.log(err);
res.json({});
});
我看到一条错误消息:
"Path must be a string without null bytes."
我做错了什么?我该如何解决?
var fs = require('fs');
var OS = require('os');
var path = require('path');
var tmpPath = path.join(OS.tmpdir(), Date.now());
//saving file to tmp dir with random name
fs.writeFile(tmpPath, req.file.buffer, function(err) {
if (err) {
return res.error(err);
}
//moving file somewhere else
mv(tmpPath, path.normalize(__dirname+'/public/uploads/'+ p._id +'.jpg'), {mkdirp: true} ,function(err){
if(err) console.log(err);
res.json({});
});
})