如何修改代码将文件写入GCP存储桶的test文件夹?
解决GCP存储桶写入指定文件夹的问题
修改核心
GCP Cloud Storage本质是扁平存储结构,"文件夹"是通过对象键(文件名)的前缀来模拟的,不需要提前创建物理文件夹。只需在指定BlobId时,把文件名改为文件夹名/文件名的格式即可。
修改后的代码
@GetMapping("/send-data") public String sendData() throws IOException, URISyntaxException { try { // 关键修改:在文件名前加上test/前缀 BlobId id = BlobId.of("my-bucket", "test/demofile1.json"); BlobInfo info = BlobInfo.newBuilder(id).build(); byte[] arr = fileData.getBytes(); storage.create(info, arr); } }
注意事项
- 路径分隔符必须用正斜杠
/,不要用反斜杠 - 不需要给文件夹名末尾加斜杠,直接写
test/demofile1.json即可 - 确保你的服务账号拥有该存储桶的
storage.objects.create权限,否则会出现权限错误
内容的提问来源于stack exchange,提问作者user7078
相关产品推荐
相关产品推荐

