实际上我遇到了两个问题
一、如何更改上传路径
我的文件夹结构是这样的:
|__app.js
|__upload
我的节点代码在 app.js 并从中启动,所以我想将上传图片上传到上传文件夹,我更改了路径:
var form = new formidable.IncomingForm;
form.uploadDir = "./upload";
好像上传成功了,但是我不知道文件在哪里,它不在上传文件夹中。
那么正确的路径名是什么?
第二个问题是
如果我不更改它,它可以正确上传到,C:/Users/ADMINI~1/AppData/Local/Temp
但它会在没有格式的情况下重命名,
那么如何获取上传格式并自行重命名?
第三个问题是
我还将处理程序绑定到process
事件,例如
form.on('progress', function(bytesReceived, bytesExpected) {
console.log(bytesReceived + ' ' + bytesExpected);
});
但它似乎不起作用,当上传日志什么都没有。为什么?我错过了什么吗?
这是我的所有代码:
app.post('/upload', function (req, res) {
var form = new formidable.IncomingForm;
// form.uploadDir = "./upload";
console.log(form.uploadDir);
form.parse(req, function(err, fields, files){
if (err) return res.end('You found error');
console.log(files.image);
});
form.on('progress', function(bytesReceived, bytesExpected) {
console.log(bytesReceived + ' ' + bytesExpected);
});
form.on('error', function(err) {
res.writeHead(200, {'content-type': 'text/plain'});
res.end('error:\n\n'+util.inspect(err));
});
// res.end('Done');
res.send("well done");
return;
})