Python Flask отправляет pdf-файл, используя декодированный request.content

У меня большие трудности с загрузкой файлов с сервера sharepoint в моем фляжном приложении.

Я делаю запрос на получение файла в sharepoint API, чтобы получить файл, и он выглядит успешным, когда я печатаю свой загружаемый объект.

введите здесь описание изображения

Но я не могу понять, как расшифровать содержимое, а затем отправить для загрузки

Я пробовал ниже

return send_file(BytesIO(download.content), mimetype='application/pdf', as_attachment=True, attachment_filename='test.pdf')

Но когда я пытаюсь открыть, похоже, что он не декодирован должным образом.

отправить


person Rach Odwyer    schedule 04.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? Flask обрабатывает PDF как собственную страницу   -  person Prayson W. Daniel    schedule 04.12.2019
comment
не могли бы вы поделиться кодом, где вы делаете запрос к API шарепойнт?   -  person Hrishi    schedule 04.12.2019


Ответы (1)


Если вы используете модуль requests и метод быстрого доступа get для выполнения запроса на получение, достаточно просто вернуть содержимое вместе с кодом состояния и заголовками.

return download.content, download.status_code, download.headers.items()
person Hrishi    schedule 04.12.2019
comment
вау, это сработало. Клянусь, я пробовал это сочетание! небольшая проблема, теперь есть идеи, как заставить имя файла всплывающего окна? - person Rach Odwyer; 05.12.2019
comment
это как-то связано с 'Content-Disposition': 'attachment', - person Rach Odwyer; 05.12.2019
comment
идеально download.headers['Content-Disposition'] = f'attachment; filename={file_name}' - person Rach Odwyer; 05.12.2019