生成上传图片的文件

来源:互联网 发布:g76车锥螺纹编程实例 编辑:程序博客网 时间:2024/06/07 09:50
1.public String uploadImg(MultipartFile file,HttpServletRequest request) {        String path =  request.getSession().getServletContext().getRealPath("/")+ "resources"                + File.separator +"home";        if (!file.isEmpty()) {            List<String> fileTypes = new ArrayList<String>();            fileTypes.add("png");            fileTypes.add("jpg");            fileTypes.add("gif");            fileTypes.add("svg");            fileTypes.add("psd");            fileTypes.add("jpeg");            fileTypes.add("bmp");            fileTypes.add("tiff");            this.getFile(file, path, fileTypes);        }        return FILE_NAME;    }2.获取生成文件的filepublic File getFile(MultipartFile imgFile, String brandName, List<String> fileTypes) {        String fileName = imgFile.getOriginalFilename();        // 获取上传文件类型的扩展名,先得到.的位置,再截取从.的下一个位置到文件的最后,最后得到扩展名        String ext = fileName.substring(fileName.lastIndexOf(".") + 1,                fileName.length());        // 对扩展名进行小写转换        ext = ext.toLowerCase();        File file = null;        if (fileTypes.contains(ext)) { // 如果扩展名属于允许上传的类型,则创建文件            file = this.creatFolder(brandName, fileName);            try {                imgFile.transferTo(file); // 保存上传的文件            } catch (IllegalStateException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }           // this.scale(file);        }        return file;    } 3.生成文件 public File creatFolder(String brandName, String fileName) {        File file = null;        File firstFolder = new File(brandName);        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");        String date = sdf.format(new Date());       //当前日期格式化到秒        String random = RandomUtil.generateWord();  //获得随机数        String suffix = fileName.substring(fileName.lastIndexOf('.'));        String newfileName = date+random + suffix;        if (firstFolder.exists()) { // 如果一级文件夹存在,则检测二级文件夹            file = new File(brandName + "\\"+ newfileName);        } else { // 如果一级不存在,则创建一级文件夹            firstFolder.mkdir();            file = new File(brandName + "\\" + newfileName);        }        FILE_NAME=newfileName;        return file;    }