the request was rejected because no multipart boundary was found

本文解析了前端使用React遇到的上传文件错误,介绍了如何设置FormData正确格式并提供了解决方案,包括设置Content-Type和FormData对象的使用实例。

前端完整报错如下:

Could not parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found

前端使用React进行开发

分析:

由于后端设置的是multipart files,所以在前端要穿对应的格式,header中设置参数即可。
new 一个FormData对象,文件列表中的每个文件添加到formData 对象中,注意,文件列表中每个元素都是JS 的 File对象。
下图所示是浏览器控制台输出的File对象。
在这里插入图片描述
具体实现见代码示例。

解决方法如下:

    let formData = new FormData();
    this.pictures.map((item)=>{
      formData.append("pictures", this.item);
    })
    
    // formData.append("content", e.content);
    // formData.append("issueTime", getNow("YYYY-mm-dd HH:MM"));
    // formData.append("issuer", store.getState());
    // formData.append("title", e.title);

    axios({
      url: "/api/newsInsert",
      method: "post",
      headers: {
        "Content-Type": "multipart/form-data",
      },
      params: {
        content: e.content,
        issueTime: getNow("YYYY-mm-dd HH:MM"),
        issuer: store.getState(),
        title: e.title,
      },
      data: formData,
    }).then(
      (response) => {
        console.log(response.data);
      },
      (error) => {
        console.log(error);
      }
    );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sun_Raiser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值