2012-09-23 37 views
1

我閱讀文檔,搜索周圍,但仍然無法計算如何讀取blob作爲字節數組。如何從blobstore檢索字節數組?

我能夠生成PDF文件並將它們存儲在blobstore中。我也可以使用serve()服務這些blob進行下載,沒有問題。所有這些工作正常。

現在我想要檢索這些blob中的一個,並將其讀取爲字節數組,將它傳遞給Mail API,以便作爲Mime附件發送。據我所知,Mail API只接受字節數組作爲附件數據。

我看到了BufferedInputStream的read()方法,但它建議讀取n個字節。我需要立即閱讀完整的blob。在閱讀之前我不知道它的長度。

回答

4

像這樣:

byte[] myFile = blobstoreService.fetchData(blobKey, index, index + batchSize); 

基本上你開始在指數= 0,你遍歷這個斑點,直到你得到一個數組,比你的批量短。

+3

這麼簡單..非常感謝。 fetchData(key,0,BlobstoreService.MAX_BLOB_FETCH_SIZE-1);在一個電話中獲得整個blob。 –