【问题标题】:How to set Content-Disposition Headers as a default on Amazon S3 Bucket如何在 Amazon S3 存储桶上将 Content-Disposition 标头设置为默认值
【发布时间】:2013-10-30 18:13:50
【问题描述】:

我遇到的问题是我需要 Content-Disposition: attachment 标头出现在每个命中我的存储桶的文件中。

在 Wordpress 中,我可以只使用 .htaccess 来覆盖有问题的文件类型(视频),但这些规则不会扩展到我的 S3 下载,浏览器只是试图打开而不是下载。

我需要一个自动/默认的解决方案,因为我不是唯一上传这些文件的人(我们的员工通过 Wordpress 上传,所有上传都存储在我们的 S3 存储桶中)。所以在这种情况下使用 Cloudberry 或其他浏览器是没有用的。我无法按文件调整文件(上传过于频繁)。

有没有办法做到这一点?

(其他信息:我正在使用 Wordpress 上的“Amazon S3 和 Cloudfront”插件,负责将两者链接在一起。不幸的是,该网站不是公开的,所以我无法链接到它。)

【问题讨论】:

    标签: php wordpress amazon-s3


    【解决方案1】:

    不幸的是,在 S3 中无法为整个存储桶设置此项,而且 Cloudfront 只能设置 Cache-Headers

    但是你可以set The Content-disposition parameter上传文件到S3。

    对于现有文件,您必须更改 Header,因此循环遍历 Bucket 中的每个对象,以及 copy it to itself using the new headers

    我现在只能说,请发布将文件上传到 S3 的代码。

    【讨论】:

    【解决方案2】:

    首先,您需要找到将对象放入存储桶的代码。 您可以使用 notepad++ 在您使用的任何插件的 php 文件中搜索“putObject”。 另一个将文件存储到 S3 的 WP 插件的示例代码如下:

    $this->s3->putObject( array(
                'Bucket'     => $bucket,
                'Key'        => $file['name'],
                'SourceFile' => $file['file'],
            ) );
    

    现在,只需像这样添加 ContentDisposition' => 'attachment':

    $this->s3->putObject( array(
                'Bucket'     => $bucket,
                'Key'        => $file['name'],
                'SourceFile' => $file['file'],
                'ContentDisposition' => 'attachment',
            ) );
    

    就是这样:)

    【讨论】:

      【解决方案3】:

      是的,您可以使用 Bucket Explorer 的 Bucket Default 功能为 S3 存储桶中每个即将上传的文件设置默认的 Content-Disposition 标头。

      对于现有文件,您可以使用Update Metadata 选项批量更新存储桶中存在的每个文件的元数据。

      你只需要 -

      Select Key as : Content-Disposition
      Add Value as : attachment;filename={$file_name_without_path_$$}
      

      然后更新文件的元数据。

      看到这个页面到set Content-Disposition on your file

      更多参考资料:

      谢谢

      【讨论】:

      • 这仅与通过 Bucket Explorer 上传有关,对吗?这不会影响从其他位置上传吗?
      • 是的,Bucket Defaults 将适用于使用 Bucket Explorer 完成的上传。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 2015-01-29
      • 2012-06-27
      • 2017-04-30
      • 2012-01-01
      相关资源
      最近更新 更多