我有一个 django 项目,它在 s3-boto 上使用 django-storage。
问题是位于 S3 上的每个文件都无法缓存,因为每次调用都会更改 url。
这是 django-storage 生成的两个调用:
https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg?Signature=HlVSayUIJj6dMyk%2F4KBtFlz0uJs%3D&Expires=1364418058&AWSAccessKeyId=[awsaccesskey]
https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg?Signature=xh2VxKys0pkq7yHpbJmH000wkwg%3D&Expires=1364418110&AWSAccessKeyId=[awsaccesskey]
如您所见,签名是不同的。我该怎么做才不会破坏我的浏览器缓存?
最佳答案
在您的设置中,只需添加以下内容:
AWS_QUERYSTRING_AUTH = False
这将确保文件的 URL 是在没有额外参数的情况下生成的。您的网址如下所示:
https://my.s3.amazonaws.com/cache/user_6/profile_pic/profile_profile_picture_thumbnail.jpg
关于带有 s3-boto 的 django-storage 破坏浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668443/