Я пытаюсь загрузить PDF в FastAPI . После преобразования PDF-файла в base64-blob и сохранения его в txt-файле я отправляю этот файл в FastAPI с помощью Postman.
Это мой код на стороне сервера:
from fastapi import FastAPI, File, UploadFile
import base64
app = FastAPI()
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...)):
contents = await file.read()
blob = base64.b64decode(contents)
pdf = open('result.pdf','wb')
pdf.write(blob)
pdf.close()
return {"filename": file.filename}
Эта процедура отлично работает для одностраничного документа PDF размером 279 КБ (размер blob: 372 КБ), но не подходит для многостраничного документа размером 1,8 МБ (размер blob: 2,4 МБ).
Когда я пытаюсь, я получаю следующее ПРЕДУПРЕЖДЕНИЕ и ответ на неверный запрос 400 (вместе с «деталью» ответа: «Произошла ошибка при синтаксическом анализе тела»): «Не удалось найти граничный символ 55 в индексе 2»
Я уверен, что этому поведению должно быть объяснение? Может это как-то связано с asyn c?