Загрузка файла, вероятно, является важной операцией в каждом проекте. Сегодня мы используем nodejs для реализации модуля загрузки файлов.
1. Модуль
npm i multiparty
npm i express
2.
Мы помещаем код в файл ( upload.js
). Код в файле следующий:
// Загрузить файл модуля const multiparty = require('multiparty') //Модуль работы с файлами const fs = require('fs') //Импортируем экспресс-фреймворк const express = require('express') //Маршрутизация const router = express.Router() // Загрузить файл интерфейса router.post('/upload/file', (req, res) => { /* Генерируем многосторонний объект и настраиваем целевой путь загрузки */ пусть форма = новый multiparty.Form(); //Установим кодировку form.encoding = 'utf-8'; //Установим путь хранения файла, используя текущий редактируемый файл в качестве относительного пути form.uploadDir = './public'; // синтаксический анализ, анализатор форм // поля: обычные данные формы // файлы: информация о загруженном файле form.parse(req, function (err,fields,files) { пытаться { //Это файл files.file[0] пусть upfile = files.file[0] // Назовите файл и измените путь в файле upfile, иначе имя файла будет сгенерировано случайным образом let newpath = form.uploadDir + '/' + upfile.originalFilename //Имя файла// Переименуйте fs.renameSync(upfile.path , новый путь); //Возвращаем информацию, ((upfile.size)/1048576).toFixed(2) Преобразуем файл из единиц B в M и округляем до двух десятичных знаков. код: 200, msg:'Файл успешен', имя_файла:upfile.originalFilename, file_size:((upfile.size)/1048576).toFixed(2)+'M' }) } ловить { // Сообщение console.log(err) при нештатных обстоятельствах res.send({ код: 401, сообщение:'Ошибка файла', more_msg: ошибка }) } }) }) // Экспортируем этот модуль для вызова в основной файл функции mod.exports =
файл router 3.main.js
// Вводим экспресс-модуль const express = require('express') // Создание экземпляра экспресса константное приложение = экспресс() // Сопоставление папок app.use('/static',express.static('public')) // Интерфейс загрузки файла const upload=require('./router/upload') app.use(загрузить) // Служба прослушивания app.listen('3333', '0.0.0.0', (res) => { console.log('Сервер работает http://127.0.0.1:3333') })
4. Пример
сбить