nodejs 이미지 다운로드

이 고속 Node.js 모듈의 일반적인 사용 사례는 공통 형식의 큰 이미지를 더 작고 웹 친화적인 JPEG, PNG 및 WebP 이미지로 변환하는 것입니다. 요청 모듈을 사용하는 것이 좋습니다. 파일 다운로드는 다음 코드만큼 간단합니다: 다음 기본 예제를 사용하여 이미지 다운로드를 시작할 수 있습니다. Axios(Node.js의 약속 기반 HTTP 클라이언트)를 사용하여 비동기 환경에서 선택한 순서대로 이미지를 다운로드할 수 있습니다: 전체 설치 지침, API 설명서, 벤치마크 테스트 및 변경 로그를 보려면 sharp.pixelplumbing.com 방문하십시오. 뎀킹/이미지 다운로더에서 새 릴리스에 대한 알림을 원하십니까? Axios는 브라우저 및 Node.js에 대한 약속 기반 HTTP 클라이언트입니다. 비동기 HTTP 요청 및 응답 처리를 간소화하는 편리하고 현대적인 API가 있습니다. Node.js에서 Axios로 파일을 다운로드하는 방법을 살펴보겠습니다. . MIT 라이선스하에.

자세한 내용은 라이센스 파일을 참조하십시오. 나는 몇 일 전에이 문제에 부딪쳤는데 순수한 NodeJS 답변을 위해 Stream을 사용하여 청크를 병합하는 것이 좋습니다. Axios 인스턴스를 관련 HTTP 메서드, URL 및 응답 유형에 대해 언급된 스트림 값으로 초기화합니다. 스트림을 응답 유형으로 사용하기 때문에 들어오는 파일의 모든 바이트를 기다려야 합니다. 스트림의 종료 이벤트를 듣고 이렇게 합니다. 이렇게 하면 데이터 전송이 성공적으로 처리됩니다. 이 때 파일 전송을 완료하겠다는 약속을 해결합니다. 따라서 요청 옵션에서 GZIP을 사용하지 않는 경우 서버의 실제 응답은 손상된 파일을 초래할 수 있는 횡설수설로 압축됩니다. http.get 및 기타 많은 라이브러리와 같은 많은 대안이 있습니다.

이것은 내가 사용한 가장 안정적이며 문제가 없었기 때문에 이 것을 언급했습니다. 이 함수는 로컬 이미지 파일에 대한 정적 URL 및 경로를 정의합니다. 두 변수를 함수 매개 변수로 전달하여 보다 일반적인 다운로드 방법을 만들 수 있습니다. 이미지 예제는 다른 파일 형식을 다운로드할 수 없다는 것을 의미하지는 않습니다. 그것은 그림을 위한 것이고 하드 디스크에서 파일을 열 때 볼 수 있기 때문에 이미지가 시각적으로 매력적입니다. 노드 버전 10, 12 및 13을 실행하는 대부분의 최신 64비트 macOS, Windows 및 Linux 시스템은 추가 설치 또는 런타임 종속성이 필요하지 않습니다. 기여자를 위한 가이드에서는 버그 보고, 기능 요청 및 코드 변경 사항 제출을 다룹니다. 이미지 크기를 조정하는 것은 일반적으로 libvips를 사용하기 때문에 가장 빠른 ImageMagick 및 GraphicsMagick 설정을 사용하는 것보다 4배-5배 빠릅니다. Axios는 파일 다운로드에 대한 훌륭한 지원을 하고 있습니다. Axios의 열렬한 사용자인 경우 응답 유형이 일반 json 요청과 다르다는 것을 알 수 있습니다.

거기에서 읽기 스트림을 로컬 디스크의 파일을 가리키는 Node.js 쓰기 스트림으로 파이프합니다. 이렇게 하면 읽기 스트림에서 쓰기 스트림으로 들어오는 바이트가 전달되고 궁극적으로 이미지의 모든 부분을 로컬 파일로 플러시됩니다. 갑자기 / 나 그냥 나를 기쁘게 쓸모없는 작업을 할 바보 미친 생각을 가져옵니다! 관련 법률에서 요구하거나 서면으로 합의하지 않는 한, 라이선스에 따라 배포된 소프트웨어는 명시적 또는 묵시적 조건 없이 «있는 상태»로 배포됩니다. 사용권에 따른 사용 권한 및 제한 사항을 관리하는 특정 언어에 대한 라이센스를 참조하십시오. 이전 스니펫은 기본적으로 웹의 어느 곳에서나 항목을 다운로드하는 난잡한 버전입니다. 메서드의 응답을 약속으로 래핑하면 파일이 다운로드를 완료할 때까지 기다릴 수 있습니다.