
Загрузка файла, вероятно, является важной операцией в каждом проекте. Сегодня мы используем 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. Пример

сбить