问题描述
表单数据的内容未反映在帖子中。
如何发布表格数据?
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