资源简介
Java中,当表单含有文件上传时,提交数据的如何读取(吐血版)亲自测试版本。花了整整一天,主要针对enctype="multipart/form-data"form 提交的方式

代码片段和文件信息
package cn.izis.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import cn.izis.entity.Members;
import cn.izis.service.TeamMembersService;
import cn.izis.service.impl.TeamMembersServiceImpl;
public class UploadServlet extends HttpServlet {
public void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
response.setContentType(“text/html;charset=utf-8“);
response.setCharacterEncoding(“utf-8“);
request.setCharacterEncoding(“UTF-8“);
String insertDB = ““;
String UserName = ““;
String Birthday = ““;
String IDCardNum = ““;
String Phone = ““;
String Level = ““;
String Rusume = ““;
String Summary = ““;
String Role = ““;
String Notes = ““;
int TeamId = 0;
// 用于存放输出的信息
String message = ““;
// 在自己的项目中构造出一个用于存放用户照片的文件夹
String projectpath = this.getServletContext().getRealPath(
“/headPhoto/“);
// 如果此文件夹不存在,则构造此文件夹
File f = new File(projectpath);
if (!f.exists()) {
f.mkdir();
}
// 构造出文件工厂,用于存放JSP页面中传递过来的文件
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置缓存大小,如果文件大于缓存大小时,则先把文件放到缓存中
factory.setSizeThreshold(4 * 1024);
// 设置上传文件的保存路径
factory.setRepository(f);
// 产生Servlet上传对象
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置可以上传文件大小的上界4MB
upload.setSizeMax(4 * 1024 * 1024);
try {
// 取得所有上传文件的信息
List list = upload.parseRequest(request);
Iterator iter = list.iterator();
while (iter.hasNext()) {
FileItem item = iter.next();
// 如果接收到的参数不是一个普通表单(例text等)的元素,那么执行下面代码
if (!item.isFormField()) {
String fieldName = item.getFieldName();// 获得此表单元素的name属性
String fileName = item.getName();// 获得文件的完整路径
// System.out.println(“1.1:“+fileName);
String contentType = item.getContentType();// 获得文件类型
long fileSize = item.getSize();// 获得文件大小
// 从文件的完整路径中截取出文件名
fileName = fileName.substring(
fileName.lastIndexOf(“\\“) + 1
fileName.length());
// 判断是否有图片上传
if (!(““.equals(fileName)) && !(fileName == null)) {
// 如果上传的文件不是图片,那么不上传
String allImgExt = “.jpg|.jpeg|.gif|.bmp|.png|“;
String extName = fileName.substring(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6811 2015-03-24 16:51 新建文件夹\updateMembers.jsp
文件 8081 2015-03-23 22:54 新建文件夹\UploadServlet.java
目录 0 2015-03-25 11:01 新建文件夹
----------- --------- ---------- ----- ----
14892 3
相关资源
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- JNA所需要的jar包
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 基于JSP的学生宿舍管理系统(源码 数
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
评论
共有 条评论