05/13/2019 - No Comments!

node js 파일 다운로드

여기 {filename} = 확장자를 포함 하는 파일의 이름 (익스프레스 다운로드/업로드 디렉토리에서 파일을 찾습니다) "res 다운로드"로 작성 된 코드에서 는 파일 다운로드에 대 한 훌륭한 지원을 제공 합니다.) Axios. Axios의 열렬 한 사용자 라면 응답 유형이 일반 json 요청과 다르다는 것을 인식할 수 있습니다. Axios는 브라우저와 node.js에 대 한 약속 기반 HTTP 클라이언트입니다. 그것은 비동기 HTTP 요청 및 응답 처리를 단순화 편리 하 고 현대적인 API를가지고. Node.js에서 Axios를 사용 하 여 파일을 다운로드 하는 방법을 살펴 보겠습니다. 경로에 있는 파일을 "첨부"로 전송 합니다. 예를 들어:이 함수는 정적 URL 및 로컬 이미지 파일에 대 한 경로 정의 합니다. 두 변수를 함수 매개 변수로 전달 하 여 보다 일반적인 다운로드 방법을 만들 수 있습니다. 그것은 wget를 사용 하 여 다운로드 라고 하지만,이 예제는 너무-O 옵션과 함께 curl을 사용 하 여 다운로드에 적용 됩니다. 다운로드의이 방법은 보기의 코딩 지점에서 가장 간단한 보인다. 헤더 값을 원하는 대로 설정할 수 있습니다. 이 경우 mime 형식 라이브러리 노드 mime을 사용 하 여 파일의 mime 형식을 확인 합니다. 이 응용 프로그램의 아키텍처에서 마이크로 서비스 스타일에 대 한 일반적인 이동의 일환으로, 필자는 이미 페이지가 매겨진 JSON 컬렉션과 동일한 데이터를 노출 하는 REST API를 구축 했기 때문에이를 활용 하 고 별도의 작은 프록시 프로세스를 구축 하기로 결정 했습니다 지정 된 쿼리의 모든 페이지를 점진적으로 로드 하 여 CSV 데이터의 스트리밍 다운로드로 어셈블합니다.

Stream을 사용 하 여 node.js에서 파일을 다운로드할 수 있습니다. 우리는 단지 헤더를 설정 해야 합니다. 브라우저는 자동으로 파일을 다운로드 합니다. 첫 번째 헤더는 ` 콘텐츠-처리 `입니다. 파일 이름 = 패키지. 이 헤더가 응답에 표시 되 면 브라우저가 강제로 파일을 완전히 다운로드 합니다. 이 헤더에서 파일 이름을 지정할 수도 있습니다. 다른 헤더는 콘텐츠 형식, 콘텐츠 또는 파일 형식의 형식을 포함 합니다.

이제 서버 .js를 실행 하 고 url http://localhost:8080/.Your 파일을 다운로드 합니다. 노드 앱은 사용자 지정 미들웨어 함수를 사용 하 여 JWT 토큰의 유효성을 검사 하 고 API 매개 변수를 디코딩합니다. 토큰은 iat (발급 된) 매개 변수에 인코딩된 날짜 로부터 몇 분 동안만 유효 합니다. 이를 위해 많은 npm 패키지를 사용할 수 있습니다. 요구 사항에 따라 사용할 수 있습니다. 여기서는 다운로드 js를 사용 했습니다. 이 경우 서버는 마찬가지로 스트림 또는 blob의 형태로 응답을 보냅니다. 그런 다음 클라이언트 측에서이 모듈을 사용 하 여 파일을 다운로드 할 수 있습니다. 자세한 내용은이 방문 할 수 있습니다. 또한 콘텐츠-처리: 첨부 파일 응답 헤더를 전송 하 여 브라우저가 사용자에 게 다운로드 대화 상자를 팝업 하도록 합니다. 브라우저가 염려 되는 한 파일의 이름은 ` 다운로드 ` 일 뿐 이므로 다른 HTTP 헤더를 사용 하 여 더 많은 정보를 제공 해야 합니다. Http get은 http 프로토콜을 사용 하 여 파일을 다운로드 하는 데에도 사용할 수 있는 HTTP GET 요청을 만들기 위한 노드의 기본 제공 메커니즘입니다.

HTTP를 사용 하는 이점은 파일을 다운로드 하기 위해 외부 프로그램에 의존 하지 않는다는 것입니다. 위의 기능은 아마도 HTTP를 사용 하 여 파일을 다운로드 하는 가장 좋은 방법입니다. 노드에서 가져옵니다. 를 사용 하 여 HTTP 요청을 가져오고 쓰기 가능한 스트림을 만듭니다.

Published by: jeshurun

Comments are closed.