文件上传接口

excel通用导出优化
yun-zuoyi
汪云昊 6 years ago
parent bb0f8f86c9
commit f585ea56e4

@ -76,6 +76,13 @@ public interface ISysFileService {
SysFile uploadFile(Object file) throws Exception;
/**
* ,
* @param file
*/
@ApiOperation(value = "上传文件资源",notes = "上传文件资源")
SysFile uploadFile(Object file,SysFile sysFile) throws Exception;
/**
*
* @param fileCode
* @return

@ -18,6 +18,7 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@ -224,7 +225,44 @@ public class SysFileController extends CoreBaseController{
}
SysFile fileDb = sysFileService.uploadFile(file);
return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(fileDb);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* fastdfs
* @param file
* @return
*/
@PostMapping("/upload-fastdfs")
@ApiOperation(value = "文件上传至fastdfs并保存数据", notes = "文件上传至fastdfs并保存数据")
public ResultBean<SysFile> singleFileUpload(@RequestParam("file") MultipartFile file, SysFile sysFile) {
try {
startMultiService();
if(file.isEmpty()){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要上传的文件。")
.build();
}
boolean checkFileN = dictionaryService.checkFileName(file.getOriginalFilename());
if(!checkFileN){
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_FORMAT.getCode())
.setErrorDetail("文件格式不支持")
.setErrorSolution("请到字典管理中添加文件类型")
.build();
}
SysFile fileDb = sysFileService.uploadFile(file,sysFile);
return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(fileDb);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -15,6 +15,7 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import com.mchange.lang.IntegerUtils;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -61,7 +62,7 @@ public class SysFileServiceImpl implements ISysFileService {
}
}
return sysFileRDao.insert(sysFile);
return sysFileRDao.save(sysFile);
}
@Override
@ -127,18 +128,49 @@ public class SysFileServiceImpl implements ISysFileService {
@Override
@ApiOperation(value = "上传文件资源", notes = "上传文件资源")
public SysFile uploadFile(Object file) throws Exception {
SysFile sysFile = uploadFastDfs(file, null);
return insertSysFile(sysFile);
}
@Override
@ApiOperation(value = "上传文件资源", notes = "上传文件资源")
public SysFile uploadFile(Object file,SysFile sysFile) throws Exception {
sysFile = uploadFastDfs(file, sysFile);
return insertSysFile(sysFile);
}
/**
* fastdfs
* @param file
* @param sysFile
* @return
* @throws Exception
*/
private SysFile uploadFastDfs(Object file,SysFile sysFile) throws Exception {
if(sysFile == null){
sysFile = new SysFile();
}
// 设置文件默认所属模块
if(sysFile.getFileSoftTypeVal() == 0){
sysFile.setFileSoftType(CommonEnumUtil.SOFT_TYPE.CORE.getValue());
}
FastDFSFile fastDFSFile;
SysFile uploadFile;
// 判断参数类型
if (file instanceof File) {
fastDFSFile = new FastDFSFile((( File ) file).getName(), FileTool.file2Byte((( File ) file).getPath()),
StringTool.getStringFileSuffix((( File ) file).getName(), true));
fastDFSFile = new FastDFSFile(((File) file).getName(), FileTool.file2Byte(((File) file).getPath()),
StringTool.getStringFileSuffix(((File) file).getName(), true));
uploadFile = dfsClient.upload(fastDFSFile, sysFile.getFileSoftTypeVal());
} else {
fastDFSFile = dfsClient.saveFile(( MultipartFile ) file);
uploadFile = dfsClient.saveFile((MultipartFile) file, sysFile.getFileSoftTypeVal());
}
SysFile sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue());
uploadFile.setId(sysFile.getId());
// 设置文件代码
uploadFile.setFileCode(sysFile.getFileCode());
return insertSysFile(sysFile);
return uploadFile;
}
@Override

@ -190,7 +190,7 @@ public class MailUtil {
try {
a[i] = new InternetAddress(add[i]);
} catch (AddressException ex) {
ex.printStackTrace();
LOGGER.error("邮箱地址错误!",ex.getMessage());
}
}
return a;

Loading…
Cancel
Save