FastAPI не может перехватывать и проверять параметры из JavascriptJavascript

Форум по Javascript
Ответить
Anonymous
 FastAPI не может перехватывать и проверять параметры из Javascript

Сообщение Anonymous »

Я отправляю файл и JSON в этом формате

Код: Выделить всё

var formData = new FormData();
export_param = {"data":"test"} // json data
formData.append('metadata',JSON.stringify(export_param));
var dataurl = imagePreviewRef.current.makeImageDataUrl();
var blobData = createBlob(dataurl);
formData.append("file",blobData);
axios.post(qs_url,formData,{headers: {'Content-Type': 'application/form-data'}}).then(res=>{
Это означает отправку файла как файла с именем blob и отправку данных json в виде метаданных,
тогда я хочу получить это в FastAPI

Код: Выделить всё

@app.exception_handler(RequestValidationError)
async def validation_exception_handler(request: Request, exc: RequestValidationError):
exc_str = f'{exc}'.replace('\n', ' ').replace('   ', ' ')
logging.error(request, exc_str)
content = {'status_code': 10422, 'message': exc_str, 'data': None}
return JSONResponse(content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY)

@app.post('/plan/myslace')
async def getcreatePlan(file: Annotated[bytes, File(default=None)],metadata:Annotated[str,Form(default="test")]):
print(test_param)
return {"myslace":"OK"}
он ​​возвращает сообщение об ошибке в консоли.

Код: Выделить всё

fastapi.exceptions.RequestValidationError: 2 validation errors for Request
query -> file
field required (type=value_error.missing)
query -> metadata
field required (type=value_error.missing)
То есть, это означает, что он не может уловить параметр ни в файле, ни в метаданных
Где мне исправить?
п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»