- 在使用
SpringBoot
接收参数时,可以定义VO
,如ImgUploadVO.java
/**
* 外键
*/
private String fid;
/**
* 图片类型
*/
private List<String> types;
/**
* 不同格式的图片
*/
private MultipartFile[] maps;
- 然后前端需要使用
FormData
对象来保存:
// data 中的 fid 为字符串,types 为字符串数组,maps 为文件数组
const attachmentFd = new FormData();
attachmentFd.append('fid', data.fid);
for(let i =0;i<data.types.length;i++){
attachmentFd.append('types', data.types[i]);
attachmentFd.append('maps', data.maps[i]);
}
return new Promise((resolve, reject) => {
$.post({
url: '请求路径',
contentType: false,
processData: false,
mimeType: 'multipart/form-data',
data: attachmentFd,
success: res => resolve(res),
error: err => reject(err)
})
})
-
Controller
中的参数就一个ImgUploadVO
形参即可 -
需要注意的是,数组类型需要挨个
append
后端才会正常接收。 -
调试参数如下:
image.png
网友评论