21

缩略图 URL 中包含参数。我不确定为什么。我认为它们与我们正在使用的 sorl-thumbnail 或 boto 存储有关。如何从 URL 中删除附加参数?它们是来自 boto/s3 还是 sorl。我不知道如何调试。

4

4 回答 4

69

使用:AWS_QUERYSTRING_AUTH = False

于 2012-10-23T17:24:07.520 回答
5

添加的额外参数用于实现Query String Authentication。这允许您对存储在 S3 中的私有资源的 URL 进行预签名。只要有人拥有预签名的 URL(并且尚未过期),他们就可以访问这些资源,即使它们不是公开可读的。

如果没有额外的参数,就无法提供对这些私有 S3 资源的公共访问。

于 2012-07-22T23:37:09.473 回答
4

对我有用:AWS_QUERYSTRING_AUTH = False

使用这个https://github.com/mstarinteractive/django-s3storage

from myapp.s3storage import S3BotoStorage
from django.contrib.staticfiles.storage import CachedFilesMixin


class CachedStaticS3BotoStorage(CachedFilesMixin, S3BotoStorage):

    """Extends S3BotoStorage to save static files with hashed filenames."""
    pass
StaticRootS3BotoStorage = lambda: CachedStaticS3BotoStorage(location='static')
于 2014-06-20T01:22:47.917 回答
0

这是奇怪的行为:Google Docs 预览器将工作并显示没有参数的预览,但如果 boto 附加签名会说没有可用的预览。

<iframe src="{% trans "https://docs.google.com/viewer?embedded=true&amp;url=" %}{{ document.file.url }}" width="451" height="390" style="border: none;"></iframe>

我肯定错过了什么。

于 2015-12-11T11:03:27.393 回答