簡體   English   中英

如何獲取Google Blobstore中二進制文件的直接url?

[英]How to get the direct url of a binary file in the Google Blobstore?

我的應用程序生成二進制數據(壓縮的 xml)並將其保存到 Google App Engine Blobstore。 我想返回一個公共的 URL,客戶端可以使用它從任何地方訪問這個二進制文件,而不需要通過 AppEngine 和我的 go 和我的 Java servlets。我知道可以使用ImagesService#getServingUr為圖像獲得這種 881657866602088,但是關於什么對於其他類型的文件?

我這樣創建我的文件:

FileService#createNewBlobFile("application/octet-stream", "myfile.bin");

當我調用 AppEngineFile#getFullPath() 時,我得到如下信息:

/blobstore/writable:a2c0noo4_LNQ0mS6wFdCMA

我可以看到在我的開發文件系統中創建的文件具有不同的隨機名稱。 它的 URL 是什么?

您可以為您的文件使用 Google Cloud Storage。

然后,您可以為您的文件提供公共雲存儲 URL,這將允許您的客戶無需通過 AppEngine 即可下載它。 您也可以使用許多不同的 ACL 方案來加強訪問,它在文檔中。

使用谷歌雲存儲文件 API。

雲存儲文檔。

根據文檔,blobstore 中的對象沒有公共 URL。 您只能從您的應用程序通過 Blobstore API 訪問它。 因此,如果您希望每個 blobstore 對象都有一個 URL,您必須為此創建自己的處理程序,這當然必須通過 AppEngine 和您的 Java servlets。

我認為ImagesService#getServingUrl不會為 blobstore 中的圖像生成 Public URL。 URL 並沒有真正直接指向您的 blobstore 數據。 它指向一個能夠訪問您的 blobstore 的圖像服務,並通過其自身的高性能基礎設施為您提供圖像服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM