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!');
}
});