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