package com.gkhy.assess.system.service.impl; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.system.domain.vo.UploadObjectVO; import com.gkhy.assess.system.service.SysCommonService; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.UUID; @Service public class SysCommonServiceImpl implements SysCommonService { @Value("${image.upload_file}") private String uploadFilePath; @Value("${image.upload_image}") private String uploadImagePath; @Override public UploadObjectVO uploadFile(MultipartFile file) { UploadObjectVO uploadObjectVO=doUpload(file); return uploadObjectVO; } public UploadObjectVO doUpload(MultipartFile file){ String filename=file.getOriginalFilename(); String subfix=filename.substring(filename.lastIndexOf(".")); filename= UUID.randomUUID().toString().replace("-","")+subfix; String systemDir=System.getProperty("user.dir"); String filePath=""; if(checkImageType(subfix)){ filePath=uploadImagePath; }else{ filePath=uploadFilePath; } File dirFile=new File(filePath); if(!dirFile.exists()){ dirFile.mkdirs(); } filePath=filePath+File.separator+filename; try { file.transferTo(new File(systemDir+File.separator+filePath)); } catch (FileNotFoundException e) { throw new ApiException("找不到文件"); } catch (IOException e) { throw new ApiException("发生错误,请联系管理员"); } UploadObjectVO uploadObjectVO=new UploadObjectVO().setFilename(filename) .setPath(filePath); return uploadObjectVO; } public boolean checkImageType(String subfix){ if(".jpg".equalsIgnoreCase(subfix)|| ".jpeg".equalsIgnoreCase(subfix)|| ".png".equalsIgnoreCase(subfix)|| ".bmp".equalsIgnoreCase(subfix)|| ".tif".equalsIgnoreCase(subfix) ){ return true; } return false; } }