美文网首页
SpringBoot 使用对象接收多参数及多文件方式,Ajax

SpringBoot 使用对象接收多参数及多文件方式,Ajax

作者: nesanero | 来源:发表于2022-08-16 18:39 被阅读0次
    1. 在使用 SpringBoot 接收参数时,可以定义 VO ,如 ImgUploadVO.java
        /**
         * 外键
         */
        private String fid;
        /**
         * 图片类型
         */
        private List<String> types;
        /**
         * 不同格式的图片
         */
        private MultipartFile[] maps; 
    
    1. 然后前端需要使用 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)
        })
    })
    
    1. Controller 中的参数就一个 ImgUploadVO 形参即可

    2. 需要注意的是,数组类型需要挨个 append 后端才会正常接收。

    3. 调试参数如下:


      image.png

    相关文章

      网友评论

          本文标题:SpringBoot 使用对象接收多参数及多文件方式,Ajax

          本文链接:https://www.haomeiwen.com/subject/nbldgrtx.html