Стандартная форма загрузки на Nodejs имеет пустое поле файлаJavascript

Форум по Javascript
Ответить
Anonymous
 Стандартная форма загрузки на Nodejs имеет пустое поле файла

Сообщение Anonymous »

Я хочу загрузить файл на сервер Nodejs. Следующая загрузка файла с помощью Express 4.0: req.files не определен, я пробую этот код в mre.js :

Код: Выделить всё

'use strict';

const path = require('path');
const express = require('express');
const app = express();

// Set up the view engine
app.set('view engine', 'pug');
app.set('views', path.join(__dirname, 'views'));

const UPLOAD = "/upload";

app.get(UPLOAD, async (req, res) => {

return res.render("upload");
});

const fileUpload = require('express-fileupload');

app.post(UPLOAD, fileUpload(), async (req, res) => {
let keys = Object.keys(req.files);
fs.readFile(req.files[keys[0]].path, (err, e) => {
if(err) console.log(err);
fs.writeFile(keys[0], e, (err) => {
console.log(err)
})
})

req.flash("success", "File uploaded");
return res.redirect(UPLOAD);
});

const http = require('http');
const httpServer = http.createServer(app);

let server = httpServer.listen(8080, () => {
console.log("\n# HTTP server started");
});
< /code>
и представление: < /p>
doctype html
html

body
form.left(method='POST')

input(type='file', id="file", name="filename", accept=".xls,.xlsx,.txt")
input(type="submit", name="submit", value="Upload")
Я запускаю с Node mre.js , я вижу форму по адресу http: // localhost: 8080/upload , но когда я загружаю файл, я получаю эту ошибку:

Код: Выделить всё

mre.js:24
let keys = Object.keys(req.files);
TypeError: Cannot convert undefined or null to object
Я попробовал несколько вариантов безрезультатно, например, я регистрирую полный запрос с console.log (req) , и имя Imalled, которое я загружен, не отображается. Но, похоже, это работает на нескольких ответах на эту ветку, поэтому я думаю, что есть что -то очевидное, что я упускаю из виду. Версия Nodejs составляет 22.2.0.
Как я могу загрузить файл на сервер Nodejs?

Подробнее здесь: https://stackoverflow.com/questions/796 ... file-field
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»