实际上我遇到了两个问题
首先,如何更改上传路径
我的文件夹结构如下:
|__app.js
|__upload
我的Node.js代码在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;
})