파일 업로드는 아마도 모든 프로젝트에서 필수적인 작업일 것입니다. 오늘날 우리는 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) => { /* 다자간 개체 생성 및 업로드 대상 경로 구성 */ let form = new multiparty.Form(); //인코딩 형식 설정.encoding = 'utf-8'; //현재 편집 중인 파일을 상대 경로로 사용하여 파일 저장 경로를 설정한다. form.uploadDir = './public'; // 파싱, 폼 파서 // 필드: 일반 폼 데이터 // 파일: 업로드된 파일 정보 form.parse(req, function (err, fields, files) { 노력하다 { //파일은 files.file[0]입니다. upfile = 파일.파일[0] // 파일 이름을 지정하고 upfile 파일의 경로를 수정합니다. 그렇지 않으면 파일 이름이 무작위로 생성됩니다. let newpath = form.uploadDir + '/' + upfile.originalFilename //파일 이름// Rename fs.renameSync(upfile.path , 새로운 경로); //정보 반환, ((upfile.size)/1048576).toFixed(2) 파일을 B 단위에서 M 단위로 변환하고 소수점 이하 두 자리로 반올림합니다. res.send({ 코드:200, msg:'파일 성공', file_name:upfile.original파일 이름, file_size:((upfile.size)/1048576).toFixed(2)+'M' }) } 잡다 { // 비정상적인 상황에서는 console.log(err) 메시지가 표시됩니다. res.send({ 코드:401, msg:'파일 오류', more_msg:오류 }) } }) }) // 메인 함수 파일을 호출하기 위해 이 모듈을 내보냅니다. module.exports = router
3.main.js 파일
// Express 모듈 소개 const express = require('express') // 익스프레스 인스턴스화 const 앱 = 표현() // 폴더 매핑 app.use('/static',express.static('public')) // 파일 인터페이스 업로드 const upload=require('./router/upload') 앱.사용(업로드) // 청취 서비스 app.listen('3333', '0.0.0.0', (res) => { console.log('http://127.0.0.1:3333을 실행하는 서버') })
4. 예
노크하다