O upload de arquivos é provavelmente uma operação essencial em todos os projetos. Hoje usamos nodejs para implementar um módulo de upload de arquivos.
1. Módulo
npm i multiparty
npm i express
2.
Colocamos o código no arquivo ( upload.js
) O código no arquivo é o seguinte:
// Carregar arquivo module const multiparty = require('multiparty') //Módulo de operação de arquivo const fs = require('fs') //Importa o framework expresso const express = require('express') //Roteamento const router = express.Router() // Interface de upload do arquivo router.post('/upload/file', (req, res) => { /* Gere um objeto multipartidário e configure o caminho de destino do upload */ deixe form = new multiparty.Form(); //Definir codificação form.encoding = 'utf-8'; //Defina o caminho de armazenamento do arquivo, usando o arquivo atualmente editado como caminho relativo form.uploadDir = './public'; // analisar, analisador de formulário // campos: dados de formulário comuns // arquivos: informações do arquivo enviado form.parse(req, function (err, campos, arquivos) { tentar { //O arquivo é arquivos.file[0] deixe upfile = arquivos.arquivo[0] // Nomeie o arquivo e modifique o caminho no arquivo upfile, caso contrário, o nome do arquivo será gerado aleatoriamente let newpath = form.uploadDir + '/' + upfile.originalFilename //Nome do arquivo// Renomear fs.renameSync(upfile.path , novo caminho); //Retorna informações, ((upfile.size)/1048576).toFixed(2) Converta o arquivo de unidades B para M e arredonde para duas casas decimais res.send({. código:200, msg:'Arquivo com sucesso', nome_do_arquivo:upfile.originalNome do arquivo, tamanho_do_arquivo:((upfile.size)/1048576).toFixed(2)+'M' }) } pegar { // Mensagem console.log(err) em circunstâncias anormais res.send({ código:401, msg:'Erro no arquivo', mais_msg:err }) } }) }) // Exporta este módulo para chamar o arquivo de função principal module.exports = roteador
3.main.js file
// Introduz o módulo expresso const express = require('express') //Instancia o expresso const aplicativo = expresso() // Mapeamento de pasta app.use('/static',express.static('public')) // Interface de upload do arquivo const upload=require('./router/upload') app.use(carregar) // Serviço de escuta app.listen('3333', '0.0.0.0', (res) => { console.log('Servidor executando http://127.0.0.1:3333') })
4. Exemplo
pare