Ошибка типа: приведение к Unicode: требуется строка или буфер, _io.BytesIO найдено
Я пытаюсь в течение недели, как дать входные файлы для Textract из опции POST колбу.
@app.route('/input', methods=['POST'])
def input():
request_file = request.files.get('file')
r = textract.process(io.BytesIO(request_file.read()))
return r
Код выше выдает ошибку
Ошибка типа: приведение к Unicode: требуется строка или буфер, _io.BytesIO найдено
И я попробовал небольшой тест с send_file
чтобы проверить, действительно ли он принимает ввод и проверить, хорошо ли работает BytesIO в моем случае:
@app.route('/input', methods=['POST'])
def input():
request_file = request.files.get('file')
return send_file(io.BytesIO(request_file.read()),attachment_filename=
request_file.filename)
Приведенный выше код прекрасно работает для файлов PDF и отправки ответов (для загрузки файла PDF). И когда я попробовал.docx,.txt файлы, он показывает некоторые странные результаты на экране: PK
Мои вопросы, как я могу отправить это io.bytes(request_file.read())
как файл в Textract сейчас? Я пытался найти ответ везде, но не смог.
Я должен декодировать или кодировать сейчас?
1 ответ
textract.process()
ожидает строку, но вы отправляете io.BytesIO(request_file.read())
вместо. Я не совсем уверен, почему вы используете io.BytesIO
, Ты можешь попробовать:
textract.process(request_file.read())