簡體   English   中英

將對象上傳到Google Cloud Storage Bucket Java

[英]Uploading objects to google cloud storage bucket java

我想將簡單的圖像文件上傳到Google雲存儲時,上傳到根存儲桶的過程很順利,但是當我嘗試將圖像上傳到存儲桶中的文件夾時,它失敗了

以下是我這樣做的代碼

 static Storage sStorage;
 public static void uploadFileToServer(Context context, String filePath) {
    Storage storage = getStorage(context);
    StorageObject object = new StorageObject();
    object.setBucket(BUCKET_NAME);
    File sdCard = Environment.getExternalStorageDirectory();
    File file = new File(sdCard + filePath);
    try {
        InputStream stream = new FileInputStream(file);
        String contentType = URLConnection.guessContentTypeFromStream(stream);
        InputStreamContent content = new InputStreamContent(contentType, stream);

        Storage.Objects.Insert insert = storage.objects().insert(BUCKET_NAME, null, content);
        insert.setName(file.getName());
        insert.execute();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

我曾嘗試將[PARENT_BUCKET]/[CHILD_FOLDER]類的存儲桶名稱放入,但它不起作用

GCS具有平面名稱空間,“文件夾”只是客戶端支持的抽象(基本上,將對象名稱中的“ /”字符視為文件夾定界符)。

因此,要上傳到文件夾,您應該僅將存儲桶名稱放在請求的存儲桶字段中,然后將該文件夾放在對象字段的開頭。 例如,要上載到存儲桶“ my-bucket”,文件夾“ my-folder”和文件夾內文件“ file”,您需要將存儲桶名稱設置為“ my-bucket”,並將對象名稱設置為“ my-folder /文件'。

暫無
暫無

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

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