formdata后端只读到file
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了formdata后端只读到file相关的知识,希望对你有一定的参考价值。
参考技术A 使用formData格式从前端同时传json字符串和文件到后端时,后端只能接收String和MultipartFile。1、如果用对象接收则会报415错误
415 Unsupported Media Type 服务器无法处理请求附带的媒体格式
2、如果用String接收,没有正确处理映射到对象的话,会出现对象取值空指针异常的问题
思路分析:
先采用String接收数据,然后使用JSONObject.parseObject()方法,进行json数据的解析,实体类解析对象可根据Json数据的对象类型进行定义,可嵌套多层对象关系进
前端向后端发送请求(FormData)
JSON对象转成formData对象,formData对象转成JSON
在向后端请求时,如果上传的数据里存在file文件对象,需要用到表单提交,这时候我们需要将JSON对象,转成formData对象,具体见代码
const formData = new FormData(); Object.keys(params).forEach((key) => { formData.append(key, params[key]); });
下面也有可能需要formData转JSON,代码如下:
var jsonData = {};
formData.forEach((value, key) => jsonData[key] = value);
mypost1() {
let url = ‘http://1.1.1.1:8080/AA/pAA/kAAAin/quAA‘;
let params = {
AA: ‘‘,
SS: ‘‘,
DD: ‘1‘
}
const formData = new FormData();
Object.keys(params).forEach((key) => {
formData.append(key, params[key]);
});
console.log(formData)
this.http.post(url, formData).subscribe({
next: (res: any) => {
if (res.status === ‘success‘) {
} else { if (!res.message || res.message === ‘error‘) { this.msg.error(‘...‘) } else { this.msg.error(res.message); } }
}, error: (err: any) => { }
})
}
以上是关于formdata后端只读到file的主要内容,如果未能解决你的问题,请参考以下文章