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

使用Blobstore上传至Google云存储:上传时Blobstore不保留文件名

翟俊茂
2023-03-14

我正试图用BlobStore上传到GCS。我在生成上传url时设置了GCS bucket名称,并且文件成功上传。

在上传处理程序中,blobinfo.getFileName()返回正确的文件名。但是文件实际上以不同的文件名保存在GCS bucket中。每次,文件名都是随机散列,如下所示:

L2FwcGhvc3RpbmdfcHJvZC9ibG9icy9BRW5CMlVvbi1XNFEyWEJkNGlKZHNZRlJvTC0wZGlXVS13WTF2c0g0LXdzcEVkaUNEbEEyc3daS3Vham1MVlZzNXlCSk05ZnpKc1RudDJpajF1TmxwdWhTd2VySVFLdUw3US56ZXFHTEZSLVoxT3lablBI

它会是这样工作的吗?这是异常吗?

我根据blobinfo.getFileName()返回的数据将文件名存储到datastore,这是文件名的正确值。但是我无法使用gcsfilename访问该文件,因为该文件以随机散列作为文件名存储在GCS中。

任何指针都将大有帮助。

谢了!

ps:blobstore页面显示BlobInfo目前不适用于GCS对象。但是blobinfo.getFileName为我返回了正确的值。我这边有什么不对劲吗?

暂时还没有答案

 类似资料:
  • 流的工作方式就像存储到BlobStore一样。客户端请求上载URL,BlobStore.create_upload_url(...)创建它,客户端通过多部分POST上载文件,然后服务器重定向到我的GAE应用程序中的上载处理程序。 问题是,虽然我必须选择GCS bucket(它是create_upload_url调用的参数之一),但我不知道如何选择文件名。我想把它分解成文件夹。灵感来自 Google

  • 当将图像/视频上传到Google云存储时,这是获得blob_key的正确方法吗? 文档要求使用创建blob_key。文件名从何而来?在对象存储在GCS后调用的上传处理程序的post函数中是否应该包含此代码? 此外,从谷歌文档中,我对这段代码的作用或与图片的关系感到困惑:

  • 我在本地开发服务器上运行代码,但使用在项目上配置的GCS默认桶名。 Python 2.7版

  • 在使用云存储客户端API时,我开始遇到30MB的文件大小限制。经过研究,我发现GAE文档建议我使用BlobStore API。 然后我尝试使用blobstoreservice.createGsBlobKey()方法下载该文件。我将传入以下内容:“/gs/”+bucketName+“/”+fBlob.getblobkey()),其中fBlob是我的映射对象,它包含文件信息和blob键。 **编辑**

  • 从spring boot Controller上传文件到谷歌云存储。请提供我一个代码。 到目前为止,我得到了这样一个代码

  • Firebase Admin SDK文档清楚地说明,服务帐户对存储帐户具有完全的范围控制,但由于传输令牌源为nil,因此正确引导凭据似乎有些错误。