[英]How to read the contents of an uploaded blob?
我正在使用Blobstore使用此文檔上傳簡單的文本文件: https : //cloud.google.com/appengine/docs/java/blobstore/#Java_Uploading_a_blob 。 我從文檔中了解了如何保存Blob並將其提供給用戶,但我不了解處理文件上傳的servlet如何實際讀取文本文件的內容?
我找到了答案。 這是代碼:
Map<String, List<FileInfo>> infos = blobstoreService.getFileInfos(request);
Long fileSize = infos.get("myFile").get(0).getSize();
Map<String, List<BlobKey>> blobKeys = blobstoreService.getUploads(request);
byte[] fileBytes =
blobstoreService.fetchData(blobKeys.get("myFile").get(0), 0, fileSize);
String input = new String(fileBytes);
在python中,有BlobReader類可以幫助您完成此操作。 ( https://cloud.google.com/appengine/docs/python/blobstore/blobreaderclass )
好像您正在使用Java。 Java中似乎沒有等效的類。 我要做的就是使用GCS作為blobstore的支持( https://cloud.google.com/appengine/docs/java/blobstore/#Java_Using_the_Blobstore_API_with_Google_Cloud_Storage )。 這樣,上傳到Blob存儲區的文件將可以在GCS中訪問。
然后,您可以使用GCS Java客戶端庫讀取文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.