多附件上传---上传的后台



现在多附件就是多个file文件,都保存在id="pu_files" 的file控件里
<tr>
            <td height="50" align="right">附件<b></b></td>
           <span style="background-color: rgb(204, 204, 204);"> <td id="pu_files"></span>
            	<input class='filebtn' type="button" value="添加附件" οnclick="addFile()"/>
            </td>
            <td> </td>
          </tr>
注意包含file的上传,前台是需要加enctype="multipart/form-data" 的,如下的form标签

<form class="registerform"  action="<%= request.getContextPath() %>/practiceUnit/regist" method="post" enctype="multipart/form-data">

后台:我们是springmvc

@RequestMapping(value = "/regist")
	public String regist(Model model, PracticeUnit practiceUnit, HttpServletRequest request) throws IOException {
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		try {
			model.addAttribute("pu_industry", this.getDictCodeNames("PRAC_UNIT_INDUSTTRY")); // 所属行业
			model.addAttribute("pu_size", this.getDictCodeNames("PARC_UNIT_SIZE")); // 职工人数
			String vertifyCode = request.getParameter("verifyCode");
			HttpSession session = request.getSession();
			if (!vertifyCode.equalsIgnoreCase(session.getAttribute("code").toString())) {
				model.addAttribute("code_error", "验证码错误");
				throw new Exception("验证码错误");

			}
			// 检查用户名是否已存在
			User u = userService.getByLoginNameAndPassword(practiceUnit.getEmail(), null);
			if (u != null) {
				model.addAttribute("uname_error", "邮箱(用户名)已使用");
				throw new Exception("邮箱(用户名)已使用");
			}

		} catch (Exception e) {
			model.addAttribute("practiceUnit", practiceUnit);
			e.printStackTrace();
			return this.result(ResultType.JSP, "/company/regist");
		}

		String maxCode = practiceUnitService.getMaxCode();
		if (maxCode == null) {
			maxCode = "10000001"; // 8位编码
		} else {
			maxCode = String.valueOf(Integer.valueOf(maxCode) + 1);
		}
		practiceUnit.setCode(maxCode); // 实习单位编码

		// 设置公司Logo
		MultipartFile mFile = multipartRequest.getFile("headImg");
		if (mFile != null && mFile.getSize() > 0) {
			String fileName = "/upload/head/" + FileUtil.createtFileNameByDate(".jpg");
			File img = new File(request.getSession().getServletContext().getRealPath("/") + fileName);
			if (!img.getParentFile().exists()) {
				img.getParentFile().mkdirs();
			}
			mFile.transferTo(img);
			practiceUnit.setImg(fileName);
		}

		// 设置附件
		List<MultipartFile> myfiles = multipartRequest.getFiles("myfiles");

		String puFileName = "";
		for (MultipartFile myfile : myfiles) {
			if (myfile.isEmpty()) {
				System.out.println("文件未上传");
			} else {
				// 如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\WEB-INF\\upload\\文件夹中
				String realPath = request.getSession().getServletContext().getRealPath("/upload/files/");
				// 这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的
				FileUtils.copyInputStreamToFile(myfile.getInputStream(),
						new File(realPath, myfile.getOriginalFilename()));
				puFileName += "/upload/files/" + myfile.getOriginalFilename() + ",";
			}
		}
		practiceUnit.setAttachment(puFileName);
		practiceUnit.setPassword(MD5Util.getEncryptedPassword(practiceUnit.getPassword()).toLowerCase());
		practiceUnit = practiceUnitService.save(practiceUnit);

		// 默认 拥有实习单位的角色
		UserRole userRole = new UserRole();
		userRole.setRoleId(9L); // 角色ID:9为实习单位角色
		userRole.setUserId(practiceUnit.getId());
		userRoleService.save(userRole);

		return this.result(ResultType.JSP, "/login");
	}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值