Utils-文件上传处理

  文件上传统一处理工具类。

  Spring MVC 提供了MultipartFile类来接收文件对象。

文件上传类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.File;

import javax.servlet.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;

public class UploadImg {

/**
* 文件上传
* @param request
* @param file
* @return
* @throws Exception
*/
public static String uploadImage(HttpServletRequest request, MultipartFile file) throws Exception {
// 存放上传文件的绝对路路径
String path = request.getServletContext().getRealPath("updown/images");

// 上传的文件名
String filename = file.getOriginalFilename();

// 获取后缀
String suffix = FileSuffix.getSuffix(filename);

// 以当前时间毫秒值加随机数重新命令文件名
String newFileName = RandomID.getRandomID() + suffix;

// 保存文件
file.transferTo(new File(path + File.separator + newFileName));

// 存到数据库的相对路径
String imgSavePath = File.separator + "updown" + File.separator + "images" + File.separator + newFileName;

return imgSavePath;
}
}

文件后辍名类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.io.File;

public class FileSuffix {

/**
* 获取文件名后缀,包含.
* @param filename
* @return
*/
public static String getSuffix(String filename){
File file = new File(filename);
String fileName = file.getName();
String suffix = fileName.substring(fileName.lastIndexOf("."));
return suffix;
}

/**
* 获取文件后缀名,.后面的名称,不包含点
* @param filename
* @return
*/
public static String getSuffixWithoutPoint(String filename){
File file = new File(filename);
String fileName = file.getName();
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
return suffix;
}
}
作者

光星

发布于

2018-02-24

更新于

2022-06-17

许可协议

评论