博客信息

原生的jsp/servlet文件上传

发布时间:『 2019-02-12 09:39』  博客类别:java基础  阅读(818)

前台JSP

小李飞刀_文件上传

后台代码

public String save(HttpServletRequest request, HttpServletResponse response) {
		try {
			FileItemFactory factory = new DiskFileItemFactory();
			ServletFileUpload upload = new ServletFileUpload(factory);
			List<FileItem> items = upload.parseRequest(request);
			Iterator<FileItem> itr = items.iterator();

			HttpSession session = request.getSession();

			User user = (User) session.getAttribute("currentUser");
			while (itr.hasNext()) {
				FileItem item = (FileItem) itr.next();
				if (item.isFormField()) {
					String fieldName = item.getFieldName();
					if ("nickName".equals(fieldName)) {
						user.setNickName(item.getString("utf-8"));
					}
					if ("mood".equals(fieldName)) {
						user.setMood(item.getString("utf-8"));
					}
				} else if (!"".equals(item.getName())) {
					String imageName = DateUtil.getCurrentDateStr();
					// 存入数据的的数据,以及浏览器访问图片的映射地址
					String serverDir = PropertiesUtil.getValue("serverDir");
					// 图片真实的存放位置
					String diskDir = PropertiesUtil.getValue("diskDir");
					// 图片的后缀名
					String subfix = item.getName().split("\\.")[1];

					user.setImageName("http://localhost:8080"+serverDir + imageName + "." + subfix);
					item.write(new File(diskDir + imageName + "." + subfix));
				}
			}

			int saveNums = this.userService.save(user);
			if (saveNums > 0) {
				session.setAttribute("currentUser", user);
				// 修改用户个人信息成功后,重定向到主页
				return "toMainTemp";
			} else {
				request.setAttribute("currentUser", user);
				request.setAttribute("error", "保存失败!");
				request.setAttribute("mainPage", "/WEB-INF/jsp/user/edit.jsp");
				return "mainTemp";
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			request.setAttribute("currentUser", user);
			request.setAttribute("error", "保存失败!");
			request.setAttribute("mainPage", "/WEB-INF/jsp/user/edit.jsp");
			return "mainTemp";
		}
	}


属性文件

serverDir=/uploadImages/
diskDir=E:/temp/


tomcat映射

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
        
        <Context path="/uploadImages" docBase="E:/temp/"/>
      <Context docBase="p3" path="/p3" reloadable="true" source="org.eclipse.jst.jee.server:p3"/></Host>


关键字:     文件上传  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有