Express를 사용하여 NodeJS 서버에서 파일 다운로드
NodeJS 서버의 웹페이지에 액세스할 때 NodeJS 서버에 저장된 파일을 다운로드해야 할 수도 있습니다. 서버. 이 문서에서는 ExpressJS 프레임워크를 사용하여 파일을 다운로드하는 과정을 안내합니다.
ExpressJS 파일 다운로드
파일 다운로드를 시작하려면 res.download()를 사용하세요. ExpressJS에서 제공하는 메소드입니다. 이 방법은 파일 첨부 및 처리에 필요한 HTTP 헤더를 자동으로 설정합니다.
시연 방법:
app.get('/download', (req, res) => { res.download(`${__dirname}/upload-folder/dramaticpenguin.MOV`); });
파일 이름 및 유형 포함
별 기본적으로 다운로드된 파일의 이름은 "다운로드"입니다. 사용자 정의 파일 이름과 유형을 지정하려면 추가 HTTP 헤더를 설정해야 합니다.
포괄적인 구현
다음은 MIME 라이브러리를 사용하여 다음을 결정하는 보다 강력한 구현입니다. 파일의 MIME 유형 동적으로:
const path = require('path'); const mime = require('mime'); const fs = require('fs'); app.get('/download', (req, res) => { const file = __dirname + '/upload-folder/dramaticpenguin.MOV'; const filename = path.basename(file); const mimetype = mime.getType(file); res.setHeader('Content-disposition', `attachment; filename=${filename}`); res.setHeader('Content-type', mimetype); const filestream = fs.createReadStream(file); filestream.pipe(res); });
res.write() 사용
res.write() 접근 방식을 선호하는 경우 Content-Disposition 및 Content-Length 헤더를 설정하세요. 첫 번째:
res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV'); res.setHeader('Content-Length', file.length); res.write(file, 'binary');
최적의 파일 전송을 위해 동기식 방법보다는 readStream을 일관되게 사용하는 것을 기억하세요. 공연.
위 내용은 ExpressJS를 사용하여 NodeJS 서버에서 파일을 어떻게 다운로드할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!