SpringMVC 文件上传下载

简介: 多文件上传public static List imageUpload(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception { CommonsMultipartResolver cmr = new CommonsMultipartResolver(request.

多文件上传

public static List<String> imageUpload(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception {
CommonsMultipartResolver cmr = new CommonsMultipartResolver(request.getServletContext());
// 上文图片路径
List<String> listFile = new ArrayList<>();
String imageUrl = null;
if (cmr.isMultipart(request)) {
MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) (request);
List<MultipartFile> listImage = mRequest.getFiles(filename);
if (listImage != null && listImage.size() > 0) {
for (MultipartFile mFile : listImage) {
if (!mFile.isEmpty()) {
String suffix = mFile.getOriginalFilename().substring(mFile.getOriginalFilename().lastIndexOf("."));
suffix = suffix.toLowerCase();
if (suffix.equals(".jpg") || suffix.equals(".jpeg") || suffix.equals(".png")) {
String fileName = UUID.randomUUID().toString();
if (mFile.getSize() < 10000000 && mFile.getSize() > 0) {
PropertiesUtils pro = new PropertiesUtils();
// String path = pro.load("file.properties") +
// "/upload/image";
// 注意 注意 线上获取上传路径地址
String path = request.getServletContext().getRealPath("upload/image/");
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
// 缩略图上传路径 start
String desPath = path + "/thum_" + fileName;
// 压缩图片
Thumbnails.of(mFile.getInputStream()).scale(1f).outputQuality(0.38f).toFile(desPath);
imageUrl = request.getRequestURL().toString();
int index = imageUrl.indexOf("xdfstar") + 7;
String url = imageUrl.substring(0, index);
imageUrl = url + "/upload/image/" + "thum_" + fileName + ".JPEG";
request.setAttribute("imageUrl", imageUrl);
// 存放所有上传图片的路径
listFile.add(imageUrl);
} else {
listFile = null;
}
} else {
}
}
}
} else {
listFile = null;
}
}
return listFile;
}

 

imgurls = FileUpload.imageUpload("picture", request, response);

下载:

public static void download(HttpServletRequest request,
HttpServletResponse response, String storeName, String contentType,
String realName) throws Exception {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
BufferedInputStream bis = null;
BufferedOutputStream bos = null;

String ctxPath = request.getSession().getServletContext()
.getRealPath("/")+"upload/image/";

String downLoadPath = ctxPath + storeName;

long fileLength = new File(downLoadPath).length();

response.setContentType(contentType);
response.setHeader("Content-disposition", "attachment; filename="
+ new String(realName.getBytes("utf-8"), "ISO8859-1"));
response.setHeader("Content-Length", String.valueOf(fileLength));

bis = new BufferedInputStream(new FileInputStream(downLoadPath));
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
bis.close();
bos.close();
}

 

String contentType = "application/octet-stream";
try {
FileDownload.download(request, response, url, contentType,String.valueOf(new Random().nextInt(10000)+1)+".jpg");
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

目录
相关文章
SpringMVC解决下载文件名乱码的问题
SpringMVC解决下载文件名乱码的问题
281 0
|
前端开发
SpringMVC 下载文件(直接在浏览器打开)
SpringMVC 下载文件(直接在浏览器打开)
300 0
|
前端开发 Java 应用服务中间件
SpringMVC之文件上传下载以及jrebel的使用
SpringMVC之文件上传下载以及jrebel的使用
161 0
|
前端开发 Java Spring
SpringMVC之文件上传下载
SpringMVC之文件上传下载
127 0
|
存储 前端开发 Java
【SpringMVC】文件上传与下载、JREBEL使用
它可以让用户上传文件到服务器或者从服务器下载文件。这对于许多Web应用程序来说是必不可少的功能,比如在线存储、文档管理系统等。SpringMVC提供了一些方便的注释和API,可以使文件上传和下载变得非常简单。在文件上传方面,SpringMVC提供了。类,可以轻松地处理上传的文件。在文件下载方面,SpringMVC提供了。在你的spring mvc里面的pom.xml里面添加文件上传的依赖。并且下载,安装成功之后会让你重启,重启之后按操作来。根据自己的表来也是可以的,只是用来保存数据。
|
SQL 前端开发 Java
SpringMVC系列(四)之SpringMVC实现文件上传和下载
SpringMVC系列(四)之SpringMVC实现文件上传和下载
SpringMVC之文件上传和下载
【1月更文挑战第20天】SpringMVC之文件上传和下载
119 1
|
前端开发 Java 数据库连接
SpringMvc第四战-【SpringMvc文件上传,下载】
SpringMvc第四战-【SpringMvc文件上传,下载】
157 0
|
设计模式 前端开发 Java
SpringMvc文件上传下载一条龙服务教会你
SpringMvc文件上传下载一条龙服务教会你
177 0
|
前端开发 Java 数据库
SpringMVC之文件的上传下载(教你如何使用有关SpringMVC知识实现文件上传下载的超详细博客)
SpringMVC之文件的上传下载(教你如何使用有关SpringMVC知识实现文件上传下载的超详细博客)
271 0