package com.chinasoft.photo.controller;
import com.chinasoft.photo.util.ToolUtil;
import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.springframework.util.ClassUtils;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class BaseController {
public String getFileUrl(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();//得到上传的文件名称
fileName = ToolUtil.getNewFileName(fileName);//fileName经过修改名字后的
//String filePath="upload\\";
//刷入的路径
// String filePath = ClassUtils.getDefaultClassLoader().getResource("upload").getPath() + "/" + fileName;
String filePath ="D:\\upload\\"+fileName;
FileOutputStream out = null;
InputStream in = null;
try {
out = new FileOutputStream(filePath);
in = file.getInputStream();//我现在把我接受到的文件以流的形式刷入到InputStream对象里面去了
IOUtils.copy(in, out);
} catch (Exception e) {
e.printStackTrace();
}
//显示的路径
return "upload/"+fileName;
}
public List<String> getFileUrlList(@RequestParam("file") List<MultipartFile> file) {
List<String> list=new ArrayList();
for(int i=0;i<file.size();i++){
String fileName = file.get(i).getOriginalFilename();//得到上传的文件名称
fileName = ToolUtil.getNewFileName(fileName);//fileName经过修改名字后的
String filePath ="D:\\upload\\"+fileName;
FileOutputStream out = null;
InputStream in = null;
try {
out = new FileOutputStream(filePath);
in = file.get(i).getInputStream();//我现在把我接受到的文件以流的形式刷入到InputStream对象里面去了
IOUtils.copy(in, out);
} catch (Exception e) {
e.printStackTrace();
}finally{
list.add("upload\\"+fileName);
}
}
//显示的路径
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,IndexController继承了BaseController,在BaseController里面封装了单个和多个文件的上传后端代码,并且已经修改了重新命名文件的操作,并且设置了上传的单个文件最大值和总的上传文件的大小,自己可以在yml里面进行调整,另外yml还配置了Druid数据源的相关代码,有需要放开即可,另外POM也配置了相关的操作,注意,如果是单个文件IndexController的参数就不是List集合了,只需要改成单个即可,另外Controller的循环代码去掉即可
资源推荐
资源详情
资源评论
收起资源包目录
photo.rar (24个子文件)
photo
photo.iml 6KB
pom.xml 4KB
src
test
java
main
resources
templates
index.ftl 424B
show.ftl 150B
show1.ftl 190B
mapping
UserMapper.xml 2KB
application.yml 2KB
java
com
chinasoft
photo
controller
IndexController.java 2KB
BaseController.java 2KB
PhotoApplication.java 330B
util
ToolUtil.java 955B
config
WebMvcConfig.java 1KB
target
classes
templates
index.ftl 424B
show.ftl 150B
show1.ftl 190B
mapping
UserMapper.xml 2KB
application.yml 2KB
com
chinasoft
photo
PhotoApplication.class 742B
controller
BaseController.class 3KB
IndexController.class 2KB
util
ToolUtil.class 848B
config
WebMvcConfig.class 1KB
maven-status
maven-compiler-plugin
compile
default-compile
createdFiles.lst 234B
inputFiles.lst 439B
generated-sources
annotations
共 24 条
- 1
资源评论
SuSan1648077
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功