Utils:文件上传处理工具类

star2017 1年前 ⋅ 353 阅读

文件上传统一处理工具类。Spring MVC 提供了MultipartFile类来接收文件对象。

文件上传类

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;
    }
}

文件后辍名类

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;
    }
}
更多内容请访问:IT源点

全部评论: 0

    我有话说: