Подписанный URL-адрес хранилища Google не работает, когда я добавляю response_disposition
Большое спасибо всем, кто может помочь мне решить эту проблему..
У меня есть функция создания подписанного URL-адреса следующим образом
def get_signed_url(name, content_type):
storage_client = storage.Client.from_service_account_json("credentials.json")
bucket = storage_client.bucket('my.bucket.com')
blob = bucket.blob(name)
url = blob.generate_signed_url(
version="v4",
expiration=datetime.timedelta(minutes=10),
method="GET"
)
return url
Это работает для получения файла, за исключением того, что он отображается в строке браузера, поэтому я меняю на следующее..
def get_signed_url(name, content_type):
storage_client = storage.Client.from_service_account_json("credentials.json")
bucket = storage_client.bucket('my.bucket.com')
blob = bucket.blob(name)
url = blob.generate_signed_url(
version="v4",
expiration=datetime.timedelta(minutes=10),
method="GET",
response_disposition='attachment; filename=blob.png'
)
return url
Что согласно документам должно работать.
За исключением того, что теперь выдает ошибку SignatureDoesNotMatch.