postman 传参方式,这是多文件上传案例,单文件上传仿照此案例即可。
![](https://img-blog.csdnimg.cn/20200721105637167.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NzI2Mzcw,size_16,color_FFFFFF,t_70)
废话不多说直接上代码
/**
* 单文件上传
* @param file
* @return
*/
@PostMapping("/uploadFile")
public Map<String,Object> uploadFile(MultipartFile file){
Map<String,Object> param = new HashMap<>(16);
// 1.判断文件是否为空
if (file.isEmpty()){
param.put("301","上传文件为空");
return param;
}
//2.获取文件名称 完整文件名称 english.doc
String fileName= file.getOriginalFilename();
//3.获取文件后缀名称 .doc
String suffixName = fileName.substring(fileName.lastIndexOf("."));
//4.生成新的文件名称,使用UUID生成一个新的文件名,保证文件不重复
//fb235f87-a6f5-4397-bb53-faa3880bb1df.doc
String newFileName = UUID.randomUUID()+suffixName;
/** 第一种:
* 文件上传实际工作中,肯定会和某条数据有关联,通常设计表的时候会把新文件名称,
* 原文件名称各为一列,会保存到数据库中。
*新文件名称:在下载的时候会根据新文件名称去文件服务器或者 特定文件路径去查找新文件名称的文件
*原文件名称: 替换新文件名称,给用户良好体验
*
* 第二种:可能是一个文件列表没有任何关联,可以省略 5 步骤
*/
// 5.保存到与之有关联的表中