06.02.20

rest api 파일 다운로드

데이터 저장소 API를 통해 KinveyFile 참조를 검색할 때도 보안 통신을 쿼리 매개 변수로 사용할 수 있습니다. http 대신 https를 사용하려면 kinveyfile_tls 매개 변수를 true로 설정합니다. 이러한 방식으로 파일을 업로드하거나 업데이트한 후에는 일반 지침에 따라 파일을 다운로드합니다. _downloadURL 속성에는 공개적으로 액세스할 수 있는 서명되지 않은 URL이 포함되어 있으며 Kinvey를 통해 파일을 삭제할 때까지 만료되지 않습니다. 파일 시스템에 파일을 저장하는 동안 예기치 않은 상황이 발생하면 throw됩니다 – Google 클라우드 저장소에 파일을 업로드할 때 콘텐츠 유형 헤더를 포함하려는 경우 먼저 Kinvey에 대한 요청에 X-Kinvey-Content-Type 헤더에 해당 값을 포함해야 합니다. 파일을 다시 비공개로 설정하려면 이 프로세스를 반복하지만 false로 _public 설정합니다. 위의 테스트에서는 시스템 속성 “파일 이름”으로 업로드할 파일 이름을 제공했습니다. pom.xml은 응용 프로그램을 빌드하고 배포하는 데 사용한 전체 pom.xml에서 볼 수 있듯이 시스템 속성을 주입합니다. 먼저, Kinvey에 PUT 또는 POST 요청을 보내야 합니다.

이 초기 요청을 사용하여 파일 이름, ACL 및 업로드하려는 파일과 관련된 기타 메타데이터를 저장할 수 있습니다. 그런 다음 Kinvey에서 제공하는 URL을 사용하여 파일을 Google 클라우드 스토리지에 직접 업로드합니다. Google 드라이브에 저장된 파일을 다운로드하려면 file.get 메서드를 사용하여 파일ID를 다운로드하고 alt=media URL 매개 변수를 사용합니다. alt=media URL 매개 변수는 콘텐츠 다운로드가 요청되고 있음을 서버에 알려줍니다. 이 가이드의 나머지 부분에서는 이러한 유형의 다운로드를 수행하기 위한 자세한 지침을 제공합니다. 다운로드할 파일의 버전 번호를 지정합니다. 버전을 지정하지 않으면 최신 버전이 사용됩니다. Kinvey의 응답에는 파일의 _id 및 _filename, 제출한 다른 메타데이터, 파일을 업로드할 URL이 포함된 _uploadURL 속성 및 업로드 링크가 만료되는 시간을 포함하는 _expiresAt 속성이 포함됩니다. 응답에는 헤더와 해당 값의 키 값 쌍을 포함하는 개체인 _requiredHeaders 속성도 포함될 수 있습니다. 이 속성이 응답의 일부로 존재하는 경우 _uploadURL 파일을 업로드할 때 해당 속성에 지정된 모든 헤더를 해당 값으로 설정하여 해당 값으로 설정해야 합니다. 지정된 파일의 파일 콘텐츠를 스트림으로 가져옵니다. 먼저 파일을 업로드하고 다운로드하기 위해 REST API를 빌드한 다음 Postman을 사용하여 해당 API를 테스트합니다.

또한 파일을 업로드하기 위해 자바 스크립트에 프런트 엔드 코드를 작성합니다. 바닐라 자바 스크립트 대신 jQuery를 사용하려는 경우 jQuery.ajax() 메서드를 사용하여 파일을 업로드 할 수 있습니다 . 또는 /blob/:appKey/:fileId에 PUT 요청을 보낼 수 있습니다. 요청 본문에는 선택적으로 _filename, ACL 및 기타 메타데이터가 포함될 수 있습니다. 파일 이름을 지정하지 않으면 UUID가 _filename 속성을 채우는 데 사용됩니다. 다른 두 작업과 달리 Kinvey File API를 사용하여 파일을 삭제하는 작업은 단일 단계로 수행됩니다. 파일을 삭제하려면 DELETE 요청을 /blob/:appKey/:fileId로 보내기만 하면 됩니다. 이 작업은 다른 사용자가 사용자와 공유한 백업된 파일을 다운로드합니다. 다음 예제는 지정된 파일의 버전 2를 다운로드합니다.

상태 코드가 성공(200)을 나타내는 경우, 응답에는 파일 내용을 포함하는 데이터 스트림이 포함됩니다. 모든 파일 저장소 속성을 바인딩하기 위해 com.example.filedemo.property 패키지 내부의 FileStorageProperties라는 POJO 클래스를 정의해 보겠습니다 -이 스니펫은 기본 HTTP 요청에 alt=media URL 매개 변수를 추가하는 executeMediaAndDownloadTo() 메서드를 사용합니다.