Внутри web2py
framework Я хочу вернуть файл MS Word * .docx как поток загрузки .Я делаю это, как показано в коде ниже.Но когда процесс загрузки файла завершен , его нельзя открыть в MS Word .
Код:
from io import BytesIO
filename = 'empty_file.docx'
filepath = os.path.join(request.folder, 'uploads',filename )
# read a file from file system (disk)
with open(filepath, 'rb') as f:
out_stream = BytesIO(f.read())
response.headers['Content-Disposition'] = "attachment; filename=%s" % filename
response.headers['Content-Type'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
return out_stream.getvalue()
В чем может быть проблема?
Когда я вручную загружаю тот же файл, который смог бы легко открыть его в MS Word !
Обновление 1
Проверка контрольной суммы (md5), выданной в файлах, которые не равны.
openssl dgst -md5 empty_file.docx
MD5(empty_file.docx)= b5be5d79e57f73303c9df9c420b64a43
Обновление 2
Сравнение размеров
11462 байт empty_file.docx
- оригинал на веб-хостинге.
11311байт empty_file.docx (4)
- загружено на мой ПК.
Нижний колонтитул Zip
$ unzip -t empty_file.docx
Archive: empty_file.docx
testing: [Content_Types].xml OK
testing: _rels/.rels OK
testing: word/_rels/document.xml.rels OK
testing: word/document.xml OK
testing: word/theme/theme1.xml OK
testing: word/settings.xml OK
testing: word/fontTable.xml OK
testing: word/webSettings.xml OK
testing: docProps/app.xml OK
testing: docProps/core.xml OK
testing: word/styles.xml OK
No errors detected in compressed data of empty_file.docx.
Но я до сих пор понятия не имею, как это исправить ...