Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将文件上载到GCS bucket android中的文件夹中_Java_Android_Google Cloud Storage - Fatal编程技术网

Java 如何将文件上载到GCS bucket android中的文件夹中

Java 如何将文件上载到GCS bucket android中的文件夹中,java,android,google-cloud-storage,Java,Android,Google Cloud Storage,我遵循github教程将文件上传到GCS bucket中 图像已成功上载到bucket中 但我想把文件上传到bucket中的文件夹中 比如说 KS_bucket是bucket名称,images是KS_bucket中的文件夹名称 我试图像这样指定bucket名称 KS_桶/图像或KS_桶/图像/ 但是我得到了无效的bucket name错误 . W/System.err: { 2020-09-27 13:04:01.416 32172-32247/com. W/System.err: &qu

我遵循github教程将文件上传到GCS bucket中

图像已成功上载到bucket中

但我想把文件上传到bucket中的文件夹中

比如说

KS_bucket是bucket名称,images是KS_bucket中的文件夹名称

我试图像这样指定bucket名称

KS_桶/图像或KS_桶/图像/

但是我得到了无效的bucket name错误

. W/System.err: {
2020-09-27 13:04:01.416 32172-32247/com. W/System.err:   "code" : 400,
2020-09-27 13:04:01.416 32172-32247/com. W/System.err:   "errors" : [ {
2020-09-27 13:04:01.416 32172-32247/ W/System.err:     "domain" : "global",
2020-09-27 13:04:01.416 32172-32247/com. W/System.err:     "message" : "Invalid bucket name: 'kS_bucket/images'",
2020-09-27 13:04:01.416 32172-32247/com. W/System.err:     "reason" : "invalid"
2020-09-27 13:04:01.416 32172-32247/com. W/System.err:   } ],
2020-09-27 13:04:01.416 32172-32247/com. W/System.err:   "message" : "Invalid bucket name: 'ks_bucket/images'"
2020-09-27 13:04:01.416 32172-32247/com..W/System.err: }
iam用于上传的方法是

 public static void uploadFile(String bucketName, String filePath)
            throws Exception {
       
        Storage storage = getStorage();

        StorageObject object = new StorageObject();
        object.setBucket(bucketName);

        File file = new File(filePath);

        InputStream stream = new FileInputStream(file);
        try {
            String contentType = URLConnection
                    .guessContentTypeFromStream(stream);
            InputStreamContent content = new InputStreamContent(contentType,
                    stream);

            Storage.Objects.Insert insert = storage.objects().insert(
                    bucketName, null, content);
            insert.setName(file.getName());
            insert.execute();
        } finally {
            stream.close();
        }
    }

期待您的帮助,谢谢。

您正在尝试在此处设置一个在云存储中无效的带有“/”的bucket名称。您需要做的是在将文件插入bucket之前更改文件名,包括其文件夹名
setName
是您在此处需要使用的:

insert.setName('folder/filename');

诸如此类的东西

嘿,我只是想确定一下,您是否已经在您的项目中创建了GCS bucket?如果是的话,它有那个名字(“ks_bucket”)?是的,我可以上传文件到bucket,但我想上传文件到bucketThanks@methkal khalawi内的文件夹