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

devtools/2024/10/19 17:57:49/

@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.ppmy.cn/devtools/127069.html

相关文章

机器人的应用 基于5G的变电站智慧管控系统

背景概述 一、电力行业面临的挑战与变革 随着全球工业化和信息化的快速发展,电力行业作为国民经济的基础性行业,其重要性日益凸显。然而,随着电力网络的不断扩展和复杂化,变电站和开关站作为电力传输与分配的关键节点&#xff0…

【设计模式】Python 设计模式之建造者模式(Builder Pattern)详解

Python 设计模式之建造者模式(Builder Pattern)详解 在软件开发中,创建复杂对象往往需要多个步骤,而这些步骤之间的顺序、配置可能有多种变化。为了解决这个问题,建造者模式(Builder Pattern)应…

深度学习模型训练的主要流程(不定时更新中)

1.数据收集导入 1.1.数据收集获取 1.2.数据集导入 2.数据预处理数据基本处理特征工程 2.1.数据基本处理 2.1.数据可视化 2.2.缺失值/异常值处理…

Java中的一些名词概念

**函数式接口:** 概念&#xff1a;一个接口中的抽象方法只有一个&#xff0c;那么这个接口就是一个函数式接口。形参: 形参变量是**功能函数里的变量**&#xff0c;只有<u>在被调用的时候才分配内存单元</u>&#xff0c;<u>调用结束后立即释放</u>。…

9-单引号和双引号的区别在PHP

单引号和双引号的区别 在PHP中&#xff0c;单引号&#xff08;&#xff09;和双引号&#xff08;"&#xff09;的主要区别在于它们对字符串内容的解析和处理方式。 1. 字符串解析 单引号&#xff1a;在单引号内&#xff0c;字符串的内容不会被解析&#xff0c;所有字符都…

Golang笔记_day05

一.Golang 垃圾回收 回收算法&#xff1a;三色标记混合写屏障 1.回收算法演变 Golang中的垃圾回收主要应用三色标记法&#xff0c;GC过程和其他用户goroutine可并发运行&#xff0c;但需要一定时间的**STW(stop the world)**&#xff0c;STW的过程中&#xff0c;CPU不执行用户…

【CSS in Depth 2 精译_048】7.2 CSS 响应式设计中的媒体查询原则(中):页面断点(breakpoint)样式的添加

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第七章 响应式设计】&#xff08;概述&#xff09; 7.1 移动端优先设计原则&#xff08;上篇&#xff09; 7.1.1 创建移动端菜单&#xff08;下篇&#xff09;7.1.2 给视口添加 meta 标签&#xf…

LeetCode_2413. 最小偶倍数_java

1、问题 2413. 最小偶倍数https://leetcode.cn/problems/smallest-even-multiple/给你一个正整数 n &#xff0c;返回 2 和 n 的最小公倍数&#xff08;正整数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 5 输出&#xff1a;10 解释&#xff1a;5 和 2 的最小公倍…