html - 如何告诉浏览器接受存储在 S3 中的带时间戳的回形针 css 文件

标签 html css ruby-on-rails ruby amazon-s3

我需要使用回形针将自定义的 CSS 文件保存到 AWS S3 中,然后使用回形针附件 url 将它们加载回 html 文件中。所以,link 标签看起来像这样:

 <link rel = "stylesheet" href = "https://s3.us-east-2.amazonaws.com/....../theme.css20190126-23995-3w63v8.css?1548515496"> 

在 Firefox 中加载文件将在控制台中显示以下错误:

The stylesheet https://s3.us-east-2.amazonaws.com/....../theme.css20190126-23995-3w63v8.css?1548515496 was not loaded because its MIME type, “text/plain”, is not “text/css”.

我尝试使用这个 solution并将 .url(:default, timestamp: false) 添加到附件 url。但是,这为浏览器提供了错误的文件 URL,并且未加载 CSS 文件。

最佳答案

AWS S3 返回默认内容类型“text/plain”,因此您应该在 AWS S3 上设置元数据。

  1. 登录您的 AWS 控制台。
  2. 在 AWS S3 控制台上转到您的文件 (xxx/xxx/theme.css20190126-23995-3w63v8.css)。
  3. 打开文件的“属性”选项卡。
  4. 在元数据部分添加内容类型点击“+ 添加元数据”。

当然,您可以从程序中修改元数据。

https://docs.aws.amazon.com/en_us/sdk-for-ruby/v3/developer-guide/s3-example-upload-bucket-item-with-metadata.html

关于html - 如何告诉浏览器接受存储在 S3 中的带时间戳的回形针 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54382343/

相关文章:

html - 如何使 html 填充在不同浏览器中看起来相同?

javascript - Rails 将 localhost 放入 include 标签和 javascript 的方法

ruby-on-rails - Rails 5 服务器在一次接收多个请求时挂起

javascript - 如何使用 JQuery 将样式适本地应用于正常运行的 get 请求?

php - 从 mysql 数据库中检索数据并使用 php 将其插入表中

html - 在 IE8 中 anchor 链接和 css 透明的背景图像

javascript - 将 CSS 值存储在 JavaScript 变量中

css - joomla:CSS 是如何生成的?

javascript - CSS3 多列布局 : How to style a particular column

ruby-on-rails - Mod_rails 和 mongrel 在同一台服务器上运行?