Spring MVCファイルアップロードとダウンロード2およびページング機能
サービス方法public List>handleMultipartRequest(String file Guid,MultiparartRequest request,HttpServiceleRequest htttpServiceRequest)throws Exception{List>uploadFilleList=new ArrayList>();Set>>params=request.getMultiFileMap().entrySet();if(StringUtils.isEmpty(file Guid){file Guid=guidGeneratorUtil.getUtil.getUUtil.getUUtil.getUUtil.getUtil.getUtil.getUtil.getUtil.getUtil.getUtil ID();}for(Entry> param : params) {for(MultipartFile file: param.getValue()) {if(StringUtils.isEmpty(file.getOriginalFilename())) {logger.info("key=uploadfile File OriginalFilename is Empty.");continue;}Map fileMap= handleMultipartFile(file);fileMap.put("FileGuid", fileGuid);fileUploadDataDao.insertFileUploadData(fileMap);uploadFileList.add(fileMap);}}return uploadFileList;}
;
br/>固定文字列注記@Value("${file.extension.approve.list}")private String appExtStr;configuration.propertiesプロパティファイルfile.extension.approve.list=dat,doc,docx,xlsx,xls,ppt,pptx,txt,gif,jpg,png,pdf,bmp,zipfile.upload.path.localhost=F:/sprout/upload/applicationContent.xmlファイル導入プロパティファイル構成location="classpath:META-INF/properties/*.properties"/>
public Map handleMultipartFile(MultipartFile file) throws Exception{
Map rMap=new HashMap<>();
String msg = null;
String extensionName=getExtensionName(file.getOriginalFilename());
if(!checkFileExtensionName(extensionName)) {
msg = String.format("key=uploadfile FileExtensionName:%s ", extensionName);
//logger.error(msg);
throw new Exception(msg);
}
String fileId=guidGeneratorUtil.getFileId();
rMap.put("FileId", fileId);
StringBuilder fileSB=new StringBuilder();
DateFormat dFormat=new SimpleDateFormat("yyyyMMdd");
Date date =new Date();
fileSB.append(uploadPath+dFormat.format(date));
File destParnetFile=new File(fileSB.toString());
if(!destParnetFile.exists()) {
destParnetFile.mkdirs(); // ,
}
File dest=new File(fileSB.toString(), fileId);
try {
file.transferTo(dest); //
} catch (IllegalStateException | IOException e) {
msg=String.format("key=uploadfile %s", e.getMessage());
//logger.error(msg);
throw new Exception(msg);
}
rMap.put("FilePath", fileSB.toString());
rMap.put("FileName", file.getOriginalFilename());
rMap.put("FileType", extensionName);
rMap.put("FileSize", file.getSize());
return rMap;
}
/**
* @param fileName
* @return
*/
public String getExtensionName(String fileName) {
String extensionName="";
if(StringUtils.isEmpty(fileName)) {
return extensionName;
}
int startIndex=fileName.indexOf(".");
extensionName=fileName.substring(startIndex+1);
return extensionName;
}
/**
* @param extensionName
* @return true , false
*/
private Boolean checkFileExtensionName(String extensionName) {
boolean flag=false;
if(StringUtils.isEmpty(extensionName)) {
return flag;
}
String[] appExtArr=StringUtils.tokenizeToStringArray(appExtStr, ",");
for (String m : appExtArr) {
if(extensionName.equals(m)) {
flag=true;
break;
}
}
return flag;
}
public List
;
SELECT * FROM (
SELECT ROWNUM AS "ROWNUMBER" , AA.* FROM (
) AA ) AAA
= #{firstRowIndex} AND AAA.ROWNUMBER <= #{lastRowIndex}
]]>
SELECT FLOOR((AA.totalCount-1)/#{rowPerPage})+1 totalPage , AA.* FROM (
SELECT COUNT(*) OVER() totalCount, ROWNUM ROWNUMBER,MAINSQL.* FROM
(
) MAINSQL
=((#{pageNo}-1)*#{rowPerPage})+1 AND ROWNUMBER <= (((#{pageNo}-1)*#{rowPerPage})+1) + #{rowPerPage}-1 ]]>
br/>固定文字列注記@Value("${file.extension.approve.list}")private String appExtStr;configuration.propertiesプロパティファイルfile.extension.approve.list=dat,doc,docx,xlsx,xls,ppt,pptx,txt,gif,jpg,png,pdf,bmp,zipfile.upload.path.localhost=F:/sprout/upload/applicationContent.xmlファイル導入プロパティファイル構成location="classpath:META-INF/properties/*.properties"/>