码迷,mamicode.com
首页 > Web开发 > 详细

MultipartFile上传图片的写法,记录一下。

时间:2019-08-09 19:43:39      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:throw   exist   row   style   位置   文件类型   string   创建   代码   

上传图片的工具:

代码:

 1 import org.springframework.stereotype.Component;
 2 import org.springframework.web.multipart.MultipartFile;
 3 
 4 import javax.servlet.http.HttpServletRequest;
 5 import javax.servlet.http.HttpSession;
 6 import java.io.File;
 7 import java.io.IOException;
 8 import java.text.SimpleDateFormat;
 9 import java.util.Date;
10 import java.util.UUID;
11 
12 @Component
13 public class HttpRequestUploadServiceImpl implements HttpRequestUploadService {
14 
15     public void uploadImage(MultipartFile file, HttpSession session, HttpServletRequest request) throws IOException {
16         System.out.println("开始上传图片");
17         request.setCharacterEncoding("utf-8");
18         if (null != file) {
19             //获得当前项目所在路径
20             String pathRoot = request.getSession().getServletContext().getRealPath("");
21             System.out.println("当前项目所在路径:" + pathRoot);
22             //生成uuid作为文件名称
23             String uuid = UUID.randomUUID().toString().replaceAll("-", "");
24             System.out.println("文件名称:" + uuid);
25             //获得文件类型(判断如果不是图片文件类型,则禁止上传)
26             String contentType = file.getContentType();
27             System.out.println("文件类型:" + contentType);
28             //获得文件后缀名称
29             String imageName = contentType.substring(contentType.indexOf("/") + 1);
30             System.out.println("文件后缀名称:" + imageName);
31 
32             String filePath = "F:\\";
33             //根据日期来创建对应的文件夹
34             String datePath = new SimpleDateFormat("yyyy/MM/dd/").format(new Date());
35             System.out.println("日期:" + datePath);
36             //根据日期分类来创建对应的文件夹
37             String path = filePath + datePath;
38             //如果不存在,则创建新文件夹
39             File f = new File(path);
40             if (!f.exists()) {
41                 f.mkdirs();
42             }
43             //新生成的文件名称
44             String fileName = uuid + "." + imageName;
45             System.out.println("新生成的文件名称:" + fileName);
46             session.setAttribute("fileName", fileName);
47             //图片保存的完整路径
48             String pathName = path + fileName;
49             System.out.println(pathName);
50             //图片的静态资源路径
51             String staticPath = "/upload/images/" + fileName;
52             System.out.println("静态资源路径:" + staticPath);
53             //复制操作
54             //将图片从源位置复制到目标位置
55             file.transferTo(new File(pathName));
56         }
57     }
58 }

 

MultipartFile上传图片的写法,记录一下。

标签:throw   exist   row   style   位置   文件类型   string   创建   代码   

原文地址:https://www.cnblogs.com/wangquanyi/p/11328879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!