완전한 파일 이름과 확장자를 사용하여 Express.js 서버에서 파일 다운로드
Node.js에서 다운로드할 파일을 제공하는 것은 간단하지만 이름과 파일 확장자가 올바른지 확인하는 것이 조금 더 까다로울 수 있습니다.
기존 접근 방식:
Express.js를 사용하여 파일 다운로드 경로를 작성할 때 파일 이름과 파일 확장자를 제공하도록 Content-Disposition 헤더를 명시적으로 설정해야 합니다. 또한 더 나은 처리를 위해 Content-Length 및 Content-Type 헤더를 포함할 수 있습니다:
app.get('/download', function(req, res) { const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`; res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV'); res.write(fs.readFileSync(file, 'binary')); res.end(); });
Express.js 도우미:
지금 Express.js 파일 다운로드를 단순화하는 다운로드라는 도우미 메서드가 포함되어 있습니다. 프로세스:
app.get('/download', function(req, res) { const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`; res.download(file); // Sets 'Content-Disposition' and sends the file });
향상:
더 많은 고급 기능을 위해 path 및 mime과 같은 타사 라이브러리를 활용하여 파일 이름, 파일 확장자, 및 MIME 유형:
const path = require('path'); const mime = require('mime'); app.get('/download', function(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); res.download(file); });
이 접근 방식을 사용하면 다운로드한 파일이 형식에 관계없이 항상 올바른 이름과 파일 확장자를 갖게 됩니다. 서버의 위치입니다.
위 내용은 Express.js 서버에서 올바른 파일 이름과 확장자를 가진 파일을 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!