5

有人可以請澄清這一點對我來說。我正在閱讀有關blobstore的開發者頁面https://developers.google.com/appengine/docs/java/blobstore/overview。我似乎無法繞過保存和檢索blob的過程?這聽起來像如何使用blobstore處理android圖像

  • Android應用程序將保存圖像之後的圖像直接發送至Blobstore
  • ,Blob存儲區將隨後返回的BlobKey我的後臺,我把在數據存儲

這是過程嗎?也許是因爲我過了漫長的一天,但我看不到它。如果有人有他們不介意共享的例子,請發佈。我只需要將android中的圖像保存在blobstore中,然後能夠使用blobkey或其他方式檢索它們。

我已經看

對於我的生活,我不知道爲什麼他們沒有做它對我來說。

我想有些問題是:

  • 如何安卓知道從哪裏團塊發送到?我的意思是,Google是否將我的blobstore實例與其他人的實例區分開來,類似於它區分我的數據存儲實例的方式?換句話說,我可以前往應用引擎Applications Overview,並以我在數據存儲區中的方式查看屬於我的應用的所有Blob嗎?我想一個完整的工作代碼可以幫助我看到這些答案。

我的問題的一部分可能是我從來沒有使用過servlet。我目前正在爲我的api使用Google Cloud Endpoint。

+1

想知道您是否在該解決方案上有任何工作代碼? – 2014-04-10 19:05:13

回答

1

您對過程的描述是正確的。您錯過的唯一步驟是第一步:服務器端調用blobstoreService.createUploadUrl(redirecturl)來生成要上傳到的URL。然後,redirecturl中的處理程序會將blob密鑰保存到數據存儲區。

+0

該網址是永久設置還是動態?如果android應用程序需要每次需要保存一個blob或一次獲取它然後將其存儲在客戶端並每次需要發送blob時都使用它,那麼android應用程序需要調用它嗎? – learner 2013-04-27 04:21:19

+0

它是動態的。該函數爲每個blob創建一個新的url。我不確定端點是否有處理它的具體方式,但是Blobstore的一般情況是,每次您想要將某些內容上傳到Blobstore時,都需要使用createUploadUrl()。 – dragonx 2013-04-27 04:27:55

+0

@dragonx當blobstore通過回調url調用服務器時,服務器如何知道該回調用於哪個用戶? – 2013-04-27 05:20:03

3

其實有兩種方式上傳到Blob存儲區:

使用direct upload handler

  • 服務器通過createUploadUrl(..)獲得一個唯一的一次祕密上傳網址和發送該URL到客戶端。
  • 客戶端使用multipart/form-data POST將數據上傳到此URL。
  • 好處是你可以上傳大文件(> 32mb)。

使用blobstore FileService API這是過時不應該使用更多的

  • 你創建你自己的POST上傳處理程序,其中客戶端上傳數據。
  • 您使用FileService API將數據保存到blobstore。
  • 缺點是您可以上傳最多32mb的數據(通用GAE請求限制)。
  • 好處是您可以訪問數據,因此您可以根據需要編輯內容。
+0

感謝發佈。 +1。這很有幫助。 – learner 2013-04-27 23:13:21