
파일 업로드는 아마도 모든 프로젝트에서 필수적인 작업일 것입니다. 오늘날 우리는 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. 예

노크하다