【问题标题】:Is it possible to set an uploaded file name in GCS using Blobstore API是否可以使用 Blobstore API 在 GCS 中设置上传的文件名
【发布时间】:2014-01-18 07:44:03
【问题描述】:

我正在尝试使用我的 servlet 中的 Blobstore API 将文件保存在谷歌云存储中。

这行得通,但问题是 GCS 中的文件名与原始文件名不同(似乎它只是 blobkey)。

我可以这样做但在 GCS 中使用原始文件名吗?

【问题讨论】:

    标签: java google-app-engine google-cloud-storage blobstore


    【解决方案1】:

    我最近刚刚经历了同样的过程,经过一番摸索后,我才弄明白了。检查此链接以获取我的答案。 google app engine java error using blobstore api to retrieve file from cloud storage

    简短的版本是您的回调 servlet 需要使用从方法 getGsObjectName() 返回的字符串。

    希望这会有所帮助!

    【讨论】:

    • 谢谢,特洛伊。这可能会有所帮助,但是我无法使存储在 GCS 中的文件与原来的名称相同。因此,当用户下载他的文件时,它的名称会有所不同。似乎这就是 blobstore 的工作方式。
    • 你好 Ant-nrd。是的,商店中的名称是长密钥字符串,但是当您下载文件时,它会使用实际文件名下载。我在回调中所做的是将上传的文件的名称保存到单独的映射对象中,该对象存储来自云存储的密钥字符串和上传的文件名。通过这种方式,我可以向用户显示可用文件的名称,当他们单击我提供的链接时,我只需使用密钥字符串来获取文件并流回给用户。
    • 你好,特洛伊。它实际上可以很好地向用户显示实际文件名并提供其在 GCS 中的存储位置与您创建的单独映射对象的链接。但是,问题是,当用户尝试下载它时,它实际上使用存储在 GCS 中的名称下载,而不是我们向用户显示的原始文件名。
    【解决方案2】:

    好的,我来了:

    。在 GCS 中,文件以生成的密钥作为其名称保存。 (但可以将原始文件名保存在其他地方)

    【讨论】:

    • 您好 Ant-nrd,您是否找到在 GCS 中保存原始文件名而不是自动生成的长文件名的方法?如果是这样,你能分享一下吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-10-29
    • 2021-10-29
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 2017-06-19
    • 2011-08-28
    • 1970-01-01
    相关资源
    最近更新 更多