SpringBoot入门十九,简单文件上传
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot入门十九,简单文件上传相关的知识,希望对你有一定的参考价值。
项目基本配置参考SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可。现在来给项目添加一个MyBatis支持,添加方式非常简单,仅需两步即可,具体内容如下:
1. pom.xml添加以下配置信息
<!-- 文件上传配置开始 -->
<!-- 9.引入commons-io依赖 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<!-- 10.引入commons-fileupload依赖 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<!-- 文件上传配置结束 -->
2. 配置文件中添加以下配置信息
# ----------------文件传输---------------
## 单个数据的大小
spring.servlet.multipart.max-file-size:200MB
## 总数据的大小
spring.servlet.multipart.max-request-size:500MB
3. 编写文件上传工具类
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.multipart.MultipartFile;
public class ToolUpLoad {
/**
* @描述:上传文件到临时目录
*
* @param file 上传的文件
* @param tempPath 上传文件存放路径
* @return
*/
public static Map<String, Object> fileUpload(MultipartFile file, String tempPath) {
Map<String, Object> resultMap = new HashMap<String, Object>();
if (null == file) {
resultMap.put("result", false);
resultMap.put("msg", "获取上传文件失败,请检查file上传组件的名称是否正确");
} else if (file.isEmpty()) {
resultMap.put("result", false);
resultMap.put("msg", "没有选择文件");
} else {
File fileDir = new File(tempPath);
if (!fileDir.exists()) {
fileDir.mkdirs();
}
String filename = file.getOriginalFilename();
filename = tempPath + DateUtil.getNowDateString("YYYYMMddHHmmss") + "_" + filename;
File dest = new File(filename);
//保存文件
try {
file.transferTo(dest);
resultMap.put("result", true);
resultMap.put("msg", "上传成功");
resultMap.put("filePath", "filename");
} catch (IOException e) {
e.printStackTrace();
resultMap.put("result", false);
resultMap.put("msg", "文件上传发生异常");
}
}
return resultMap;
}
}
4. 文件上传
方式一:
请求页面
<form action="xxx/upload" method="post" enctype="multipart/form-data" name="form1" id="form1">
文件名:<input type="file" name="file" id="file" />
<input type="submit" name="button" id="button" value="提交" />
</form>
Controller
/**
* @描述:文件上传
* 请求页面file组件的name必须为"file"才可以获取到信息,否则为null
* @param file
* @return
*/
@RequestMapping("upload")
@ResponseBody
public String upload(MultipartFile file){
// 文件上传
Map<String, Object> resultMap = ToolUpLoad.fileUpload(file);
return JSONObject.toJSONString(resultMap)
}
方式二:
请求页面
<form action="xxx/upload" method="post" enctype="multipart/form-data" name="form1" id="form1">
文件名:<input type="file" name="bgImg" id="bgImg" />
<input type="submit" name="button" id="button" value="提交" />
</form>
Controller
/**
* @描述:文件上传
* 请求页面的file组件的name为需要和接收参数名称一致
* @param file
* @return
*/
@RequestMapping("uploadTwo")
@ResponseBody
public String uploadTwo(@RequestParam("bgImg") MultipartFile file) {
// 文件上传
Map<String, Object> resultMap = ToolUpLoad.fileUpload(file);
return JSONObject.toJSONString(resultMap)
}
以上是关于SpringBoot入门十九,简单文件上传的主要内容,如果未能解决你的问题,请参考以下文章