문제:
서버에 저장된 파일에서 파일을 다운로드하는 방법, Node.js 서버의 페이지에 액세스하여 로컬 시스템에 파일을 다운로드하시나요?
해결책:
Express.js에서 제공하는 도우미 기능을 사용하면 이 프로세스를 단순화할 수 있습니다.
app.get('/download', function(req, res){ const file = `${__dirname}/upload-folder/dramaticpenguin.MOV`; res.download(file); // Set disposition and send it. });
이전 해결 방법:
브라우저가 파일명을 인식하려면 다른 HTTP를 사용해야 합니다. 추가 정보를 지정하는 헤더:
res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV');
MIME 유형을 보낼 수도 있습니다. 예:
res.setHeader('Content-type', 'video/quicktime');
다음은 더 자세한 샘플 코드입니다.
var path = require('path'); var mime = require('mime'); var fs = require('fs'); app.get('/download', function(req, res){ var file = __dirname + '/upload-folder/dramaticpenguin.MOV'; var filename = path.basename(file); var mimetype = mime.getType(file); res.setHeader('Content-disposition', 'attachment; filename=' + filename); res.setHeader('Content-type', mimetype); var filestream = fs.createReadStream(file); filestream.pipe(res); });
이 예제 코드는 스트림을 사용하여 파일을 읽습니다. 이는 Node.js에서 선호되는 비동기 방법입니다.
위 내용은 Express.js를 사용하여 Node.js 서버에서 파일을 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!