You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript使用axios.post上传文件时Django无法获取request.FILES问题

错误点说明

  • 请求体传参错误:调用axios.post时不应该将FormData实例包裹在{form}对象中。axios对普通对象默认会执行JSON序列化,即使你指定了multipart/form-data请求头,最终发送的也是序列化后的JSON内容,而非符合规范的表单文件上传请求体,所以Django无法正确解析出上传的文件。
  • 文件读取编码错误:onnx是二进制格式的模型文件,调用createReadStream时不需要指定utf-8文本编码,错误的编码会破坏文件内容,导致文件无法被正常识别。

修正后代码

import { createReadStream } from 'fs';
import axios from 'axios';
import FormData from 'form-data';

// 读取二进制文件无需指定utf-8编码
const article = createReadStream('C:/Users/USER/Downloads/mnist-8.onnx');
const form = new FormData();
form.append('file', article);

// 第二个参数直接传入FormData实例即可,不要额外包裹对象
axios.post(URL, 
           form,
          { headers: form.getHeaders() }
          )
        .then(res => {
            console.log(`statusCode: ${res.status}`);
            console.log(res);
        })
        .catch(error => {
            console.error(error);
        })

内容的提问来源于stack exchange,提问作者JINWOO HONG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:36:08