java - 无法使用 java 删除 gcp 存储中文件名中有空格的文件

标签 java google-cloud-platform google-cloud-storage

BlobId blobId = BlobId.of(bucketName, filename);
Blob blob = storage.get(blobId);
boolean isFileDeleted = storage.delete(blobId);

这里我得到了 null 对于有文件名空间的 blob。在我的存储桶中,结构是 sample-bucket/Archive 2copy.zip。请注意文件名中的空格。

有人可以帮我吗?

最佳答案

我正在使用 Google Java Api - StorageExample.java并能够删除他名字中带有空格的 Blob 。他们正在按 id 删除 blob。

 private static class DeleteAction extends BlobsAction {
    @Override
    public void run(Storage storage, BlobId... blobIds) {
      // use batch operation
      List<Boolean> deleteResults = storage.delete(blobIds);
      int index = 0;
      for (Boolean deleted : deleteResults) {
        if (deleted) {
          // request order is maintained
          System.out.printf("Blob %s was deleted%n", blobIds[index]);
        }
        index++;
      }
    }
  }

  Expected: <bucket> <path>+
  target/appassembler/bin/StorageExample delete bucket-name 'test file'
  Blob BlobId{bucket=bucket-name, name=test file, generation=null} was deleted

关于java - 无法使用 java 删除 gcp 存储中文件名中有空格的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60862400/

相关文章:

google-cloud-platform - 尝试从 Google Bucket 托管静态网站时出现 "Access denied: Anonymous users does not have storage.objects.list access to bucket"

java - 谷歌云存储文件的追加操作

google-app-engine - 无法删除 Google Cloud Tasks Queue 上的 appEngineRoutingOverride

firebase - 需要帮助了解 Firebase 存储 CDN

java - 数据未保存 : object references an unsaved transient instance - save the transient instance before flushing

java - 无法初始化类 com.amazonaws.partitions.PartitionsLoader

google-cloud-platform - 如何为GCP云sql私有(private)IP生成DNS

php - 是否可以将文件直接上传到 Google Cloud Storage?

java - 如何在 web-inf 文件夹中给出 hibernate xml 文件的路径

java - 为什么我不断收到 NetworkOnMainThreadException?