Java 上传文件到tomcat目录下

@RequestMapping("savefy")
	public void savefy(HttpServletResponse response,HttpSession session,
					   @RequestParam(value = "fyfj",required = false) MultipartFile[] fyfj) throws IOException {
		Map<String, Object> reMap = new HashMap<String, Object>();
		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");
	}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值