Загрузка файла js, node js
Сделана веб-страница, собирается модульно. Использую node js, сервер node-static.
Мне нужно реализовать загрузку файла, то есть с компа и потом на устройство чтоб по кнопке файлик загрузился.
Пока пробую с компа на свой же комп, по нужному мне пути, но не получается никак. Уже перепробовал всякие модули npm.
Ответы (1 шт):
Автор решения: Sergey Petrov
→ Ссылка
https://www.npmjs.com/package/multer
Промежуточный обработчик: middleware.js
import multer from 'multer';
import path from 'path';
const storage = multer.diskStorage({
destination: (request, file, cb) => {
cb(null, 'uploads/');
},
filename: (request: Request, file: any, cb: any) => {
cb(null, Date.now() + path.extname(file.originalname));
}
});
export const upload = multer({ storage });
Подключение к роутеру: router.js
import { Router } from 'express';
const router = Router();
import { upload } from './middleware';
router.post('/upload', upload.single('image'), (req, res, next) => {
// ваша логика
}
export default router;
Разметка html: index.html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="image" />
</form>
Если babel не используется, замените import на require и export default на module.exports