웹 응용 프로그램에서 jclouds 1.6.1-incubating을 사용하고 있습니다 (scala playframework 2.1.3을 사용하지만 중요하지 않음). JClouds : 오랜 시간이 걸리는 BlobStore.getBlob()
의 Blob를받을 수 jclouds의 다른 모든 방법이되지 않는 것 같다 때문에
, 나는 저장된 데이터의 입력 스트림을 얻을BlobStore.getBlob(container,name).getPayload().getInput()
를 사용하고 싶습니다. 이 데이터를 브라우저에 스트리밍하고 서버에 전체 BLOB를 실제로 저장할 필요가 없습니다.
때때로 나는 단지 (나는 그것이 메모리에 BLOB를로드, 가정)를 호출하는 매우 오래 걸립니다
BlobStore.getBlob(container,name)
에 그러나
BlobStore.getBlob(container,name).getMetadata().getContentMetadata().getContentLength()
, 전화와 같은 일부 메타 데이터를 얻을 싶어요. 이로 인해 사용자가 "다운로드"를 클릭하면 Webapp가 응답하지 않게됩니다. 클라우드 데이터가 브라우저로 즉시 스트리밍되기를 바랍니다 (playframework는이를 지원합니다).
메타 데이터 만 가져오고 싶을 때이 시간 초과는 더욱 심각합니다 (모든 파일을 웹 응용 프로그램에 다운로드하지 않고 많은 파일의 메타 데이터를 얻고 싶을 수도 있습니다).
맞습니까? 반환하기 전에 실제로 BlobStore.getBlob (container, name)이 파일을 다운로드하고 있습니까? 브라우저에 직접 보낼 수있는 비동기 입력 스트림을 얻을 수있는 또 다른 방법이 있습니까?