Я создал лямбда-выражение Python, которое генерирует zip-файл, содержащий сертификат и пароль. Файл закодирован в формате base64 и возвращается с использованием интеграции прокси через шлюз API. При нажатии на шлюз API браузер предлагает загрузить. Ответ сохраняется в файле с расширением zip.
Сохраненный файл по-прежнему закодирован в base64. Конечные пользователи должны получить рабочий zip-файл. Расшифровка файла Base64 дает действительный zip-файл. Пользователь не должен декодировать файл.
Добавление заголовка Content-Encoding
приводит к сбою интеграции шлюза API с ошибкой, заключающейся в том, что он не может base64 декодировать ответ от лямбда.
Примечание. Удаление начальных и конечных символов из b64content исправляет функцию str()
, помещающую начальный b'
и конечный тик. Можете ли вы сказать, что я новичок в Python и AWS? ;-)
headers = {'Content-Type': 'application/zip, application/octet-stream',
'Content-Disposition': f'attachment; filename="{filename}.zip"'
}
if 'b64' in event['params']:
headers['Content-Encoding'] = 'base64'
response = {
'statusCode': 200,
'isBase64Encoded': True,
'headers': headers,
'body': str(b64content)[2:-1],
}