@RequestMapping("savefy")
public void savefy(HttpServletResponse response,HttpSession session,
@RequestParam(value = "fyfj",required = false) MultipartFile[] fyfj) throws IOException {
Map reMap = new HashMap();
String status = "";
String result = "";
String error = "";
try {
String fjsize = "";
//fybt 发言标题,fynr 发言内容,sfkftl 是否开放讨论,mxdx 面向对象,fyrname 发言人姓名,fyrsszb 发言人所属支部,yhdm 用户代码,fyfj 发言附件
String ljurl = null;
if(fyfj!=null) {
for (MultipartFile fjA : fyfj) {
String file1FileName = fjA.getOriginalFilename();//文件全名
if (null != file1FileName && !"".equals(file1FileName)) {
//#fjmc#,#fjlj#,'0','0',#fjsize#
//String yhdm = String.valueOf(userEntity.getYhdm());
FileOutputStream fs = null;
String e = UUID.randomUUID().toString();
//String upFileName=file1FileName;
String savePath = "upload" + File.separator + "fyfjp";
String extendName = file1FileName.substring(file1FileName
.lastIndexOf("."));//后缀
String realPath = session.getServletContext().getRealPath(File.separator) + savePath + File.separator;
String realPath1 = session.getServletContext().getRealPath(File.separator) + "upload" + File.separator;
if (!(new File(realPath1).isDirectory())) {
new File(realPath1).mkdir();
}
if (!(new File(realPath).isDirectory())) {
new File(realPath).mkdir();
}
String fileName = realPath + e + extendName;
long size = fjA.getSize();
fjsize += getPrintSize(size)+",,";//文件大小
File files = new File(fileName);
fs = new FileOutputStream(files);
InputStream in = fjA.getInputStream();
FileCopyUtils.copy(in, fs);
}
}
}
reMap.put("success", "1");
result = JSONObject.toJSONString(reMap);
status = "200";
result = spliceStr(status, result, error);
} catch (Exception e) {
e.printStackTrace();
status = "202";
error = "操作失败";
result = spliceStr(status, result, error);
System.out.println("savefy错误");
}
PrintWriter out = response.getWriter();
out.print(result);
out.close();
}
字节转换为kb、mb、Gb
/**
* 转换大小
* @param size
* @return
*/
public static String getPrintSize(long size) {
BigDecimal filesize = new BigDecimal(size);
BigDecimal megaG = new BigDecimal(1024 * 1024 * 1024);
float returnValue = filesize.divide(megaG, 2, BigDecimal.ROUND_UP).floatValue();
if (returnValue > 1)
return (returnValue + "GB");
BigDecimal megabyte = new BigDecimal(1024 * 1024);
returnValue = filesize.divide(megabyte, 2, BigDecimal.ROUND_UP).floatValue();
if (returnValue > 1)
return (returnValue + "MB");
BigDecimal kilobyte = new BigDecimal(1024);
returnValue = filesize.divide(kilobyte, 2, BigDecimal.ROUND_UP).floatValue();
return (returnValue + "KB");
}