简体   繁体   English

JS FormData 将文件作为应用程序/ocet-stream 发送,如何将其设置为 multipart/form-data?

[英]JS FormData sends file as application/ocet-stream, how to set it as multipart/form-data?

As in the title, I'm trying to upload file to Spring Rest Controller using:如标题所示,我正在尝试使用以下方法将文件上传到 Spring Rest Controller:

handleOnChange() {
    let inputFile = document.getElementById("file-input");
    this.file.file = inputFile.files[0];
    this.file.filename = inputFile.value;
}

render() {
    return (
        <div className="file-input">
                <input id="file-input" type="file"
                    onChange={(event) => this.handleOnChange()} />
        </div>
    );
}

upload() {
let formData = new FormData();
formData.append("file", this.data.file.file, "/D:/temp/test2.xlf");
formData.append("request", JSON.stringify(request));

let reqOptions = {
    method: 'POST',
    body: formData
}

fetch('http://127.0.0.1:8081/multi-mt-evaluation/report', reqOptions)
    .then(response => response.json())
    .then(data => console.log(data));
}

But when fetch is called the file is sent as application/octet-stream, is there a simple, or more complicated way to set it as multipart/form-data?但是当 fetch 被调用时,文件作为 application/octet-stream 发送,是否有一种简单或更复杂的方法将其设置为 multipart/form-data?

Try specifying the content type by adding it to your request headers:尝试通过将其添加到您的请求标头来指定内容类型:

let reqOptions = {
    method: 'POST',
    body: formData,
    headers: {
          'Content-Type': 'multipart/form-data',
    },
}    

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 FormData如何在多部分/表单数据中获取或设置边界 - Angular - FormData how to get or set boundary in multipart/form-data - Angular FormData从multipart / form-data更改为form-urlencoded? - FormData change from multipart/form-data to form-urlencoded? Request.js模拟文件上传(多部分/表单数据) - Request.js Simulate a File Upload (multipart/form-data) 如何使用没有文件名参数的 multer 在多部分/表单数据内容类型中发送应用程序/八位字节流数据? - How to send application/octet-stream data in a multipart/form-data content type using multer without filename parameter? 如何设置POST的MIME类型-axios中的multipart / form-data? - How to set MIME type for POST - multipart/form-data in axios? 如何使用Angularjs上传文件,multipart / form-data - how to upload file using Angularjs, multipart/form-data 如何将文件系统中的文件编码为multipart / form-data? - How to encode a file from the file system as multipart/form-data? 避免多部分/表单数据进行文件传输 - Avoid multipart/form-data for file transfert 如何将文件发布到多部分/表单数据? - How to post files to a multipart/form-data? 如何手动创建多部分/表单数据 - How to manually create multipart/form-data
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM