Jquery 将文件发送到api并在控制器中获取null
我将文件发送到api,如下所示Jquery 将文件发送到api并在控制器中获取null,jquery,spring-boot,Jquery,Spring Boot,我将文件发送到api,如下所示 const formData = new FormData(); if ($.isEmptyObject(this.state.attachment)===false) { formData.append('attachment', this.state.attachment); $.ajax({ type: 'POST', url: process.env.REACT_APP
const formData = new FormData();
if ($.isEmptyObject(this.state.attachment)===false) {
formData.append('attachment', this.state.attachment);
$.ajax({
type: 'POST',
url: process.env.REACT_APP_API_HOST + "/api/attachment",
async: false,
timeout: 5000,
processData: false,
contentType: false,
cache: false,
data: {
attachment: formData
}
});
}
我得到了以下的方法
<input type='file' name='attachment' className="form-control" defaultValue={this.state.attachment}
onChange={this.handleChange}/>
结果为空
我在做什么
更新
handleChange = (event) => {
this.setState({[event.target.name]: event.target.value});
};
请发布handleChange()函数,以便我可以查看this.state.attachment中的实际情况。直接发送FormData对象:
data:FormData
。不要将其包装到要序列化的对象中。创建一个包装器对象,其字段名为attachment
,类型为MultipartFile
。然后使用@ResponseBody
作为该对象上的注释作为方法参数。注释M.Deinum无效。我很困惑,但我更新了帖子的评论根
handleChange = (event) => {
this.setState({[event.target.name]: event.target.value});
};