我已经设法使用 Express 在 Node.js 中进行文件上传工作,并且在代码中我正在检查它是否是用户尝试上传的图像。
如果文件成功上传,我想向用户显示一条消息,直接向带有上传表单的 HTML 页面显示。如果用户尝试上传的文件不是图像,或者在上传过程中发生了其他事情,情况也应该如此。
下面的代码有效(res.send...),但它会打开一个仅包含消息的新页面。
我的问题是:如何更改我的代码,以便将消息直接发送到 HTML 页面?如果它有任何用处,我正在使用 Jade。
提前致谢!
app.post('/file-upload', function(req, res, next) {
var fileType = req.files.thumbnail.type;
var divided = fileType.split("/");
var theType = divided[0];
if (theType === "image"){
var tmp_path = req.files.thumbnail.path;
var target_path = './public/images/' + req.files.thumbnail.name;
fs.rename(tmp_path, target_path, function(err) {
if (err) throw err;
fs.unlink(tmp_path, function() {
if (err) {
throw err;
res.send('Something happened while trying to upload, try again!');
}
res.send('File uploaded to: ' + target_path + ' - ' + req.files.thumbnail.size + ' bytes');
});
});
}
else {
res.send('No image!');
}
});