当前位置: 首页 > 知识库问答 >
问题:

使用谷歌云存储JSON API将文件复制到另一个文件夹

东郭存
2023-03-14

我在java应用程序中使用Google JSON API在Google云存储中上载/读取/删除/复制文件。当我试图将文件从一个文件夹复制到另一个文件夹时,我得到一个404错误。

例如,我有两个前缀如下的文件-

  1. 测试桶/folder1/file1.txt
  2. 测试桶/文件夹2/file2.txt
test-bucket
    |--- folder1/
            |------ file1.txt
    |--- folder2/
            |------ file2.txt

以下是有关Google JSON API的详细信息

API Endpoint - https://storage.googleapis.com/storage/v1/b/<source_bucket>/o/folder1/file1.txt/copyTo/b/<destination_bucket>/o/folder2/file2.txt

Method - POST

有人能帮我吗?

非常感谢。

共有1个答案

袁翰池
2023-03-14

此问题已在编码文件路径后得到解决。例如-

String sourceFilePath = "folder1/folder2/folder3/file1.txt";
String sourceEncodedPath = URLEncoder.encode(filePath, "UTF-8");

String destinationFilePath = "folder1/folder2/folder3/file2.txt";
String destinationEncodedPath = URLEncoder.encode(filePath, "UTF-8");

System.out.println("Source Encoded Path - " + sourceEncodedPath);
System.out.println("Destination Encoded Path - " + destinationEncodedPath);

输出=

Source Encoded Path - folder1%2Ffolder2%2Ffolder3%2Ffil1.txt
Destination Encoded Path - folder1%2Ffolder2%2Ffolder3%2Ffil2.txt
 类似资料:
  • 试图通过存储传输将数据从AWS S3拉到谷歌云存储。 我有S3桶访问密钥ID和秘密访问密钥,并能够从gsutil(从笔记本电脑)复制,但它从存储传输抛出权限错误。 不明白它是如何与gsutil工作,但不与存储传输。 错误消息: 有没有办法在计算引擎中使用gsutil将文件从S3复制到GCS? 谢谢,

  • packagingOptions{exclude“meta-inf/manifest.mf”exclude“meta-inf/asl2.0”exclude“meta-inf/license.txt”exclude“meta-inf/license”exclude“meta-inf/notice.txt”exclude“meta-inf/license”exclude“meta-inf/depend

  • 问题:我想从谷歌云存储桶中的文件夹(例如桶1中的文件夹1)复制文件到另一个桶(例如桶2)。我找不到任何谷歌云存储的气流操作员来复制文件。

  • 我想按照官方文档中提供的示例将一个文件上传到Google云存储 然而,我得到了一个错误: 线程“main”com.google.cloud.storage.StorageException中的异常:获取服务帐户的访问令牌时出错:400个错误请求{“错误”:“无效的授予”、“错误描述”:“无效的JWT:令牌必须是短期令牌(60分钟)并且在合理的时间范围内。请检查JWT声明中的iat和exp值。”位于

  • 我在尝试从谷歌云存储下载CSV文件时遇到了一个问题。出于某种原因,它一直以字节而不是可读文本的形式下载文件。当我在Excel中打开下载的CSV时,Excel已经足够智能,可以将其转换为可读文本。我在这里错过了什么?我检查了谷歌的文档,但找不到任何好的信息来完成它们。提前谢谢你! 这是错误:UnicodeDecodeError:“utf-8”编解码器无法解码位置15-16的字节:无效的连续字节

  • 我使用以下代码将文件从一个桶复制到另一个桶 但是我总是得到“com . Amazon AWS . services . S3 . model . Amazon S3 exception:Access Denied(服务:亚马逊S3;状态代码:403;错误代码:拒绝访问;请求ID: B6466D562B6988E2)“`作为回应,原因可能是什么