Google云端存储:下载具有不同名称的文件

时间:2014-01-09 16:43:13

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

我想知道是否可以从Google云端存储中下载一个文件,该文件的名称与存储桶中的文件名称不同。

例如,在Google云端存储中,我存储了一个名为123-file.txt的文件,但是当我下载它时,我想选择一个不同的名称,让我们说file.txt

我注意到下载的链接如下: https://storage.cloud.google.com/bucket_name%2F123-file.txt?response-content-disposition=attachment;%20filename=123-file.txt

所以我试图将其更改为: https://storage.cloud.google.com/bucket_name%2F123-file.txt?response-content-disposition=attachment;%20filename=file.txt

但它仍然以123-file.txt而不是file.txt

的形式下载

2 个答案:

答案 0 :(得分:6)

response-content-disposition参数只能由授权请求使用。匿名链接无法使用它。您有几个选择:

  1. 特定对象的内容处置是其元数据的一部分,可以永久设置。如果您始终希望使用特定名称下载特定文件,则可以永久设置该对象的内容处置元数据。

  2. 您还可以生成包含response-content-disposition查询参数的签名URL。然后,用户将提出下载资源的授权请求。

答案 1 :(得分:1)

带有JavaScript库的

示例(第一个选项Brandon Yarbrough):

const storage = new Storage()
const fileBucket = storage.bucket('myBucket')
const file = fileBucket.file('MyOriginalFile.txt')
const newName = "NewName.txt"
await file.save(content, {
    metadata: {
      contentDisposition: `inline; filename="${newName}"`
    }
  })