欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MultipartFil上传图片文件

程序员文章站 2022-06-25 18:22:44
...
@Component
public class UploadUtils {

	Logger log = LoggerFactory.getLogger(getClass());
	
	// 图片上传地址
	@Value("${cn.aiplate.filePath}")
	private String aiplateFilePath;
	
	// 匹配后缀图片格式
	private final List<String> imgSuffixList = Arrays.asList(".JPEG", ".PNG", ".JPG", ".GIF", ".BMP");
	
	/**
	 * <p>图片上传</p>  
	 * @data 2019年11月22日	
	 * @param file
	 * @return
	 */
	public R uploadPic (MultipartFile file) {
		if (file.isEmpty()) {
			return R.error("并未上传文件");
		}
		// 获取文件后缀格式
		String extension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
		log.debug("上传文件格式:" + extension);
		// 如果格式正确
		if (imgSuffixList.contains(extension.toUpperCase())) {
			String fileDir = "";
			// 文件名称
			String fileName = UUID.randomUUID() + extension;
			// 判断目录是否存在 不存在则创建指定的目录
			File f = new File(aiplateFilePath + fileDir);
			if (!f.exists()) {
				f.mkdirs();
			}
			String longName = aiplateFilePath + fileDir + File.separator + fileName;
			try {
				file.transferTo(new File(longName));
			} catch (Exception e) {
				e.printStackTrace();
				return R.error("系统错误!");
			}
			return R.ok().put(Constant.R_DATA, fileName);
		} else {
			return R.error("格式只能为:" + imgSuffixList);
		}
	}
}

相关标签: MultipartFile