当前位置: 首页 > news >正文

Java @RequestPart注解:同时实现文件上传与JSON对象传参

@RequestPart注解:用于处理multipart/form-data请求的一部分,通常用于文件上传或者处理表单中的字段。

java后端举例:

    @PostMapping("/fileTest")public AjaxResult fileTest(@RequestPart("file") MultipartFile file,@RequestPart("dept") Dept dept){String originalFilename = file.getOriginalFilename();System.out.println(originalFilename);System.out.println(dept);return success();}

 Postman测试接口传参格式:

 注意事项: dept类型的格式是application/json

前端使用的是vue3

async function uploadDept(){const  formData = new FormData();
//文件类型formData.append('file',queryParamsFile.value.file);
//获取值方式一:let dept = JSON.stringify({...form.value})
//获取值方式二:用于测试const  deptInfo = JSON.stringify({"deptId": 33,"deptName": "财务部","leader": null,"phone": null,"email": null,});
//添加blob类型formData.append('dept', new Blob([dept], { type: "application/json" }));
// formData.append('dept', new Blob([deptInfo],{type : "application/json"});//调用接口await uploadFileTest(formData).then(response => {proxy.$modal.msgSuccess("成功");});}

调用后端接口配置

export const uploadFileTest = (data)=>{return axios({headers: {'Content-Type': 'multipart/form-data'},url:'/dept/fileTest',method:'post',//忽略contentTypedata: data,//取消序列化contentType: false,// dataType: 'json',//设置请求头processData: false})
}

 注意:有可能有问题的地方

在axios 的配置文件中,注意下面这个,把config.headers['Content-Type'] 这行注释掉

request.interceptors.request.use(config => {
if(config && config.headers){
//如果有这一行,注释下再试试
// config.headers['Content-Type'] = 'application/json;charset=utf-8';  
}
http://www.lryc.cn/news/464331.html

相关文章:

  • 深度学习基础知识-02 数据预处理
  • 【CTF刷题9】2024.10.19
  • WPF中的Setter
  • RabbitMQ下载与配置
  • 【数据结构与算法】力扣 54. 螺旋矩阵
  • 速通不了的人工智能
  • 微信新功能上线,找工作也能“附近”搞定
  • CANoe与C#联合仿真方案
  • 公交信息在线查询系统|基于java和小程序的公交信息在线查询系统小程序设计与实现(源码+数据库+文档)
  • [LeetCode] 1162. 地图分析
  • CentOS 上安装 MySQL(附卸载教程)
  • 如何在Matlab界面中添加日期选择器?
  • 保险系统的部分模式01
  • 用你的手机/电脑运行文生图方案
  • L1正则化详解
  • C语言在数据库开发中的应用及其代码实践
  • java maven
  • Java爬虫:获取直播带货数据的实战指南
  • python 列表、元组、字典易误区
  • wireshark或tshark提取tcpdump捕获的数据包(附python脚本自动解析文件后缀)
  • 了解EasyNVR及EasyNVS,EasyNVR连接EasyNVS显示授权超时如何解决?什么原因?
  • 【AUTOSAR标准文档】服务类型介绍
  • Axure垂直菜单展开与折叠
  • java简单理解哈希算法
  • Python生成随机密码脚本
  • 什么是ASC广告?Facebook ASC广告使用技巧
  • idea2024启动Java项目报Error running CloudPlApplication. Command line is too long.
  • xtu oj 不定方程的正整数解
  • python爬虫技术实现酷我付费破解下载
  • 工具:Git分布式版本控制系统