>웹 프론트엔드 >JS 튜토리얼 >Express.js를 사용하여 Node.js 서버에서 파일을 다운로드하는 방법은 무엇입니까?

Express.js를 사용하여 Node.js 서버에서 파일을 다운로드하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-27 19:26:11570검색

How to Download Files from a Node.js Server Using Express.js?

Express를 사용하여 Node.js 서버에서 파일 다운로드

문제:
서버에 저장된 파일에서 파일을 다운로드하는 방법, 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.