400 Bad Request при попытке загрузить файл с помощью React и отправить его на сервер с помощью FlaskPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 400 Bad Request при попытке загрузить файл с помощью React и отправить его на сервер с помощью Flask

Сообщение Anonymous »

На сайте, который я создаю, пользователь может загрузить файл (я использую PrimeReact для загрузки файла), а затем этот файл должен быть отправлен на внутренний сервер для дальнейшего использования. Однако, что бы я ни пытался, я всегда получаю 400 Bad Request: браузер (или прокси-сервер) отправил запрос, который этот сервер не смог понять.
Вот что я на данный момент есть:
App.js:

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

import React, { useState, useEffect } from "react";
import { PrimeReactProvider, PrimeReactContext } from 'primereact/api';
import 'primereact/resources/themes/mira/theme.css';
import { FileUpload } from 'primereact/fileupload';
import axios from 'axios';
import './App.css';

function App() {

const documentUploadHandler = ({files}) => {
const [file] = files;
uploadDoc(file);
};

const uploadDoc = async (document) => {
let formData = new FormData();
formData.append('document', document);

try {
let response = await axios.post('http://127.0.0.1:8000/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
let res = response.data;
if (res.status !== 1) {
alert('Error uploading file');
} else {
alert('File uploaded successfully');
}
} catch (error) {
console.warn('Error uploading file:', error);
alert('Error uploading file');
}
};

return (



);
}

export default App;
server.py:

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

from flask import Flask, request, jsonify
from flask_cors import CORS
from classify_doc import *

app = Flask(__name__)
CORS(app, origins="*")

@app.route('/api/upload', methods=['POST'])
def upload_file():
try:
file = request.files['document']
print(f"Uploading document {file.filename}")
return "done"

except Exception as e:
print(f"Couldn't upload document: {e}")
return "failed"

if __name__ == '__main__':
app.run(port=8000, debug=True)
Все, что выводится на консоль:
Не удалось загрузить документ: 400 Неверный запрос: браузер (или прокси-сервер) отправил запрос, который этот сервер не смог понять.
127.0.0.1 - - [29/May/2024 17:54:06] "POST /api/upload HTTP/1.1" 200 -
Я не уверен, что это за неправильный запрос, поскольку я также пробовал использовать выборку вместо axios и получил ту же ошибку.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -backend-w
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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