如何使用表单数据发布Axios * 1 Axios帖子 * 2提交表单数据看起来不错但是由于无法继承会话ID而无法使用 ARC Rest客户端应用程序此方法正确

问题描述

表单数据的内容未反映在帖子中。
如何发布表格数据?

const fs = require('fs').promises;
const axios = require('axios').default;
const FormData = require('form-data');
import { AxiosResponse,AxiosError } from 'axios';

//  ******   Excerpt ********
  let csvFile: any;
  promiseFileOpen(file)
    .then(res => {
      console.log('AAA ## ' + res);
      csvFile = res;

      let url = '';
      url += config.URL+ 'post';
      console.log(url);

      const formData = new FormData();
      formData.append('foo',csvFile,{
        filename: 'myCSV',contentType: 'text/csv',});

      //*2
      formData.submit(url,(err: any,res: any) => {
        if (err) console.log('formdata submit Error');

        console.log(res.statusCode);
      });

      //*1
      (async () => {
        await axios
          .post(url,formData,{
            headers: {
              ...formData.getHeaders(),},})
          .then((response: AxiosResponse) => {
            console.log('AxiosResponse->' + response.data);
          })
          .catch((error: AxiosError) => {
            console.log('axios error =>' + error);
          });
      })();
    })
    .catch(err => console.log('Error->' + err));

使用Wireshark登录

* 1 Axios帖子

MIME Multipart Media Encapsulation,Type: multipart/form-data,Boundary: "--------------------------317363921338863873185030"
    [Type: multipart/form-data]
    Data (17 bytes)
        Data: b6f626a65637420466f726d446174615d
        [Length: 17]

* 2提交表单数据(看起来不错。但是由于无法继承会话ID而无法使用)

MIME Multipart Media Encapsulation,Boundary: "--------------------------110980606495398123589222"
    [Type: multipart/form-data]
    First boundary: ----------------------------110980606495398123589222\r\n
    Encapsulated multipart part:  (text/csv)
        Content-disposition: form-data; name="eeeeleleele"; filename="electron"\r\n
        Content-Type: text/csv\r\n\r\n
        Media Type
            Media type: text/csv (189 bytes)
    Last boundary: \r\n----------------------------110980606495398123589222--\r\n

ARC Rest客户端应用程序(此方法正确)

MIME Multipart Media Encapsulation,Boundary: "--------------------------332315644361122399636534"
    [Type: multipart/form-data]
    First boundary: ----------------------------332315644361122399636534\r\n
    Encapsulated multipart part:  (application/vnd.ms-excel)
        Content-disposition: form-data; name="aaaaabc3332"; filename="putjobCSV.csv"\r\n
        Content-Type: application/vnd.ms-excel\r\n\r\n
        Media Type
            Media type: application/vnd.ms-excel (189 bytes)
    Last boundary: \r\n----------------------------332315644361122399636534--\r\n

欢迎任何帮助,并在此先感谢您的答复。

解决方法

Axios无法发布multipart / formdata ... X(
https://github.com/axios/axios/issues/318