【问题标题】:Reactjs | How to make boundary static when content type is multipart/form-data反应js |当内容类型为多部分/表单数据时如何使边界静态
【发布时间】:2022-06-30 00:17:14
【问题描述】:

当我们使用 React-JS 进行文件上传后调用时,我们面临一个问题,在表单数据下的开发工具中,我们得到了一些浏览器生成的边界。

------WebKitFormBoundarypSTl3xdAHAJgTN8A

由于这个随机边界,我们在调用第三方 api 时遇到了问题。

有没有办法让这个边界成为一些固定值。像这样的:

----somefixedvalue.

这里是js代码:

function doupload() {
let data = document.getElementById("file").files[0];
console.log('doupload',data);
let formData = new FormData();
formData.append("file", data);
fetch('http://localhost:8081/upload/multipart',
{
method:'POST',
body: formData,
headers: {
   'Content-Type': 'multipart/form-data; boundary=----somefixedboundary'
  }
}).then(res => {
       for(const header of res.headers){
           console.log(`resHeaderName: ${header[0]}, Value:${header[1]}`);
         }
     });
alert('your file has been uploaded');
location.reload();

};

有人可以帮我解决这个问题吗?我在这里很困惑,因为我已经给出了内容类型以及一些静态边界但没有运气。

【问题讨论】:

    标签: javascript html reactjs axios multipartform-data


    【解决方案1】:

    您可以将文件转换为二进制字符串并自行准备正文,而不是使用FormData,如answer 所示。

    但请记住,如果此 ----somefixedvalue 子字符串出现在文件中,它将被视为边界,导致接收方的正文解析错误。在 FormData 的情况下,浏览器应该处理它并防止这种情况发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 2017-07-06
      • 2017-12-08
      • 1970-01-01
      • 2022-11-12
      • 2011-09-09
      • 2016-05-01
      相关资源
      最近更新 更多