图片+表单的上传
来源:互联网 发布:淘宝客服不回消息 编辑:程序博客网 时间:2024/05/17 03:47
前端代码
<form action="/TeacherServlet?action=updateTeacherInfo" method="post" enctype="multipart/form-data" class="form-horizontal" ></form>//enctype="multipart/form-data" 主要是这句代码
servlet处理
private void updateTeacherInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Teacher teacher = (Teacher) request.getSession().getAttribute("teacher"); boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("utf-8"); upload.setSizeMax(10 * 1024 * 1024); List<FileItem> formItems = upload.parseRequest(request); Iterator<FileItem> iter = formItems.iterator(); //依次处理每个表单域 while (iter.hasNext()) { FileItem item = iter.next(); //处理普通表单 if (item.isFormField()) { if ("teacher_name".equals(item.getFieldName())) teacher.setTeacher_name(item.getString("utf-8")); if ("teacher_sex".equals(item.getFieldName())) System.out.println(item.getString("utf-8")); teacher.setTeacher_sex(Integer.parseInt(item.getString("utf-8"))); if ("teacher_age".equals(item.getFieldName())) teacher.setTeacher_age(Integer.parseInt(item.getString("utf-8"))); } //处理文件表单 else { //获得文件名及路径 String fileName = item.getName(); String suffix = fileName.substring(fileName.indexOf(".") + 1).toLowerCase(); //图片格式判断 if (fileName != null && fileName.indexOf(".") != -1) { if (suffix.equals("jpeg") || suffix.equals("jpg") || suffix.equals("gif") || suffix.equals("png") || suffix.equals("bmp") || suffix.equals("tiff")) { String name = new Date().getTime() + "." + fileName.substring(fileName.indexOf(".") + 1); //如果目录不存在,则创建 File catalog = new File(getServletContext().getRealPath("/images/upload")); if (!catalog.exists()) catalog.mkdirs(); File fullFile = new File(catalog, name); teacher.setTeacher_image_Path(name); System.out.println(teacher.toString()); item.write(fullFile); new TeacherDaoImpl().updateTeacher(teacher, teacher.getTeacher_id()); request.setAttribute("message", "提交成功"); } else { request.setAttribute("message", "请上传 jpeg/jpg/gif/png/bmp/tiff 格式的图片"); request.getServletContext().getRequestDispatcher(request.getContextPath() + "/jsp/teacher/right/myInfo/myInfo.jsp").forward(request, response); } } else { teacher.setTeacher_image_Path(teacher.getTeacher_image_Path()); new TeacherDaoImpl().updateTeacher(teacher, teacher.getTeacher_id()); request.setAttribute("message", "提交成功"); } item.delete(); } } } catch (Exception e) { e.getStackTrace(); request.setAttribute("message", "错误信息: " + e.getMessage()); } // 跳转到 myInfo.jsp request.setAttribute("teacher", teacher); request.getServletContext().getRequestDispatcher(request.getContextPath() + "/jsp/teacher/right/myInfo/myInfo.jsp").forward(request, response); } }
阅读全文
0 0
- 图片+表单的上传
- 表单存在图片上传的情况 servlet表单图片上传
- 有图片预览功能的上传表单
- 带图片预览功能的上传表单
- 有图片预览功能的上传表单
- 带有图片预览功能的上传表单
- 表单图片文字同时上传的解决方法
- 带有图片预览功能的上传表单
- iOS 表单上传图片
- post上传表单图片
- formb表单上传图片
- Extjs 表单 显示图片 + 上传
- AjaxForm异步上传表单、图片
- 单张图片上传表单提交
- form表单上传文件、图片
- 上传图片之表单请求
- ios 表单格式上传图片
- 表单提交之上传图片
- python的全局变量和局部变量
- hdu 2024 C语言合法标识符
- Microsoft OneNote 2017 官方免费版
- Pycharm中使用virtualenv创建虚拟环境
- MySQL数据类型
- 图片+表单的上传
- 串口中怎样接收一个完整数据包的解析
- Bootstrap基础知识
- 注销登录
- POJ3187 Backward Digit Sums【全排列+暴力】
- redis linux下的环境搭建
- Android Transition
- 抠图软件(Vertus Fluid Mask) v3.3.17汉化版
- hdu 2025 查找最大元素