Я делаю запрос POST для отправки объекта JSON с ключами, содержащими файлы. Пример того, что я отправляю на сервер:
export interface PosInputFiles {
org: string;
year_month: string;
in_master_file: File;
iv_file?: File;
sales_file?: File;
recv_file?: File;
transfer_file?: File;
adjust_file?: File;
pcount_file?: File;
gift_file?: File;
xrate?: string;
}
Мой POST-запрос выглядит так:
generateMaster(args: PosInputFiles) {
return this.http.post('http://localhost:5000/api', args, { headers: this.headers});
}
Когда я пытаюсь получить доступ к этим файлам из request.json, значения представляют собой пустой dict ({}).
try:
org = request.json['org']
year_month = request.json['year_month']
in_master_file = request.json['in_master_file']
iv_file = None if 'iv_file' not in request.json else request.json['iv_file']
sales_file = None if 'sales_file' not in request.json else request.json['sales_file']
recv_file = None if 'recv_file' not in request.json else request.json['recv_file']
transfer_file = None if 'transfer_file' not in request.json else request.json['transfer_file']
adjust_file = None if 'adjust_file' not in request.json else request.json['adjust_file']
pcount_file = None if 'pcount_file' not in request.json else request.json['pcount_file']
gift_file = None if 'gift_file' not in request.json else request.json['gift_file']
xrate = None if 'xrate' not in request.json else request.json['xrate']
except:
return { "post" : "failed" }
print(in_master_file)
print(len(request.files))
return { "post": "success"}
Затем я попытался отправить только один файл и удостоверился, что len (request.json) == 0 через POSTMan и мой интерфейс (Angular8). Однако len (request.files) также равно 0, и каждый раз, когда я пытаюсь получить доступ к чему-либо, возникает ошибка 400. Мой POST-запрос выполнен успешно, так как я всегда печатаю {"post", "success"}, но по какой-то причине файлы не попадают в бэкэнд. Все мои отправленные файлы являются реальными файлами, и я убедился, что отправляю файл. Большое спасибо за вашу помощь!