У меня есть простая форма загрузки html
<h1>Upload File Here</h1>
<form methods="post" enctype="multipart/form-data" action="/">
<input type="file" name="filename" /> <input type="submit" value="upload" />
</form>
Я хочу, чтобы загруженные файлы попадали в папку "/ upload".Для этого я использую следующий экспресс-код:
const express = require("express");
const app = express();
upload = require("express-fileupload");
app.listen(80);
app.use(upload());
console.log("Server Started");
app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
app.post("/", (req, res) => {
if (req.files) {
var file = req.files.filename,
filename = file.name;
file.mv("/upload/" + filename, err => {
if (err) {
console.log(err);
res.send("error occured");
} else {
res.send("done!");
}
});
}
});
Когда я запускаю сервер и захожу на localhost
в Chrome, я вижу форму загрузки.Если я пытаюсь загрузить что-либо, поле URL изменяется, чтобы отразить файл, который я пытался загрузить, но файл не появляется в папке «/ upload».Любые идеи о том, какую очевидную ошибку я совершаю ??
Спасибо!
Решение в моей форме.Мне нужно установить action="http://localhost:80/upload"
Новый HTML-код
<h1>Upload File Here</h1>
<form
ref="uploadForm"
id="uploadForm"
action="http://localhost:80/upload"
method="post"
enctype="multipart/form-data"
>
<input type="file" name="filename" /> <input type="submit" value="upload" />
</form>