Javascript 是否可以在JS中向单个Axios请求添加正文和文件?

Javascript 是否可以在JS中向单个Axios请求添加正文和文件?,javascript,node.js,reactjs,post,axios,Javascript,Node.js,Reactjs,Post,Axios,因此,我可以发送一个文件或一个带有以下POST请求的正文,但我如何才能同时发送这两个呢 axios.post("http://localhost:3000/upload", formData ) 如何向正文:{}部分添加内容 服务器响应: files: { myFile: { name: 'close.bmp', data: <Buffer 42 4d 98 cb 01 00 00 00 00 00 36 0

因此,我可以发送一个文件或一个带有以下POST请求的正文,但我如何才能同时发送这两个呢

axios.post("http://localhost:3000/upload", formData )
如何向正文:{}部分添加内容

服务器响应:

  files: {
        myFile: {
          name: 'close.bmp',
          data: <Buffer 42 4d 98 cb 01 00 00 00 00 00 36 00 00 00 28 00 00 00 c8 00 00 00 c4 00 00 00 01 00 18 00 00 00 00 00 62 cb 01 00 c3 0e 00 00 c3 0e 00 00 00 00 00 00 ... 117606 more bytes>,
          size: 117656,
          encoding: '7bit',
          tempFilePath: '',
          truncated: false,
          mimetype: 'image/bmp',
          md5: '8860ffe0891f5142164ea21b092c3996',
          mv: [Function: mv]
        }
      },
      body: {},
      route: Route {
        path: '/upload',
        stack: [ [Layer] ],
        methods: { post: true }
      },
      [Symbol(kCapture)]: false,
      [Symbol(RequestTimeout)]: undefined
    }
文件:{
我的文件:{
名称:“close.bmp”,
数据:,
尺码:117656,
编码:“7bit”,
tempFilePath:“”,
错:,
mimetype:'image/bmp',
md5:'8860ffe0891f5142164ea21b092c3996',
mv:[功能:mv]
}
},
正文:{},
路线:路线{
路径:'/upload',
堆栈:[[Layer]],
方法:{post:true}
},
[符号(kCapture)]:假,
[符号(请求超时)]:未定义
}

使用
express fileupload
可以非常轻松地完成此操作。因此,请安装它并让应用程序在您的节点服务器中使用它:

import fileUpload from 'express-fileupload';

app.use(fileUpload());
然后在前端创建一个
FormData
对象,并将文件和任何其他属性附加到该对象中:

const upload = (file, description) => {
    const data = new FormData();
    data.append('file', file);
    data.append('description', description);

    return axios.post('/upload', data);
};
然后在路由中,您可以访问
文件
属性下的文件,以及
正文
属性下的其他文件:

function upload (req, res) {
    console.log(req.files);
    console.log(req.body.description);
    return res.status(200).end();
}

你在后端使用Node吗?对不起,是的,我正在使用NodeThank,这正是我需要的。数据。追加('说明',说明);是我错过的!