Amazon S3无法正确提供文件

Ale*_*ers 20 content-type amazon-s3 bucket amazon-web-services

我为我的朋友创建了这个网站,然后我将它上传到了Amazon S3存储桶(http://ballard26.s3.amazonaws.com/index.html),当我访问该网站时,页面无法正确加载我有不明白为什么.有任何想法吗?

例如,stylesheet.css无法正确加载.如果你去http://ballard26.s3.amazonaws.com/stylesheet.css,它下载文件而不是加载为CSS.

jno*_*oss 31

检查您上传的文件的mime类型(HTTP内容类型标题).S3并不总是正确设置它们.您可能需要在上传API调用中设置它们.一些上传库将为您执行此操作.

如果在没有正确设置mime类型的情况下从S3从浏览器下载文件时mime类型不正确,则它将无法始终正确呈现.


小智 15

CSS文件默认为MIME类型octet/binary.要更正此问题,请登录AWS管理控制台,转至Amazon S3部分并查找相关存储桶.找到CSS文件,然后选择"属性".在"元数据"下,将"内容类型"键设置为值:text/css

如果您使用Panic的Mac OS X传输应用程序,您可以为CSS文件设置自定义上载标题,Content-Type: text/css每次上传文件时都会应用正确的MIME类型,无需每次在控制台中手动设置此类型.

有关这方面的更多信息,请参阅Adam Wilcox的博客文章.

  • 只是想补充一下,传递回答是为我解决的问题.一个CSS文件由于某种原因触发八位字节/二进制文件,即使所有其他文件都正确地进行了,我仍然无法解释.强迫传播中的问题保存了我的臀肌. (2认同)

vez*_*ult 5

我猜您在上传文件时未正确指定或设置文件的mime类型。结果,它默认为binary/octet-stream

加载页面时,浏览器会假定您指定的样式表不是CSS文件,因为它使用的内容类型不是text/css,因此未应用样式表。