如何发送带有 Axios + 文本字段数据的文件

问题描述

我已经被这个问题困扰了好几天了,我正因为沮丧而抓狂。 我正在尝试使用 axios 发送诸如文本字段之类的表单数据以及图像:

前端:

SELECT CITY,LENGTH(CITY)
FROM STATION
WHERE LENGTH(CITY) IN (
  SELECT MAX(LENGTH(CITY))
  FROM STATION
  UNION
  SELECT MIN(LENGTH(CITY))
  FROM STATION
)
ORDER BY LENGTH(CITY) DESC,CITY ASC LIMIT 2;

后端:

    handleChange = (e) => {
        this.setState({ [e.target.name]: e.target.value });
      };

handleSubmit = (e) => {
            e.preventDefault();
            const formData = new FormData();
            const img = e.target.files[0];
            formData.append("img",img,img.name);
            console.log(formData);
            this.props.postMe(
              {
                body: this.state.body,reqType: this.state.reqType,location: this.state.location,},formData
            );
          };


        <form onSubmit={this.handleSubmit}>
                      <TextField
                        name="body"
                        type="text"
                        onChange={this.handleChange}
                      />
                      <TextField
                        name="reqType"
                        type="text"
                        onChange={this.handleChange}
                      />
                      <TextField
                        name="location"
                        type="text"
                        onChange={this.handleChange}
                      />
                      <input
                        type="file"
                        name="img"
                        hidden
                        onChange={this.handleSubmit}
                      />
                    </form>

在我的后端,如果我只实现上传图片部分本身,它和文本部分一样有效,但由于某种原因,当我将图片和文本字段数据组合在一起时它会失败?

非常感谢任何帮助或建议!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)