资源简介
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
相关资源
- javaweb银行系统
- 银联Ecb加密算法
- JAVA对象所占内存大小计算
- 使用java Apache poi 根据word模板生成wo
- 基于java socket的P2P聊天程序
- Head First Java(中文第2版)源码(书内
- 简单的java scoket p2p聊天程序
- 蚁群算法解决01背包问题-java实现
- 2018华为软件精英挑战赛复赛代码 by
- java微信版飞机大战
- 基于JAVA的windows经典纸牌游戏,适用于
- MQ工具类java
- java实验实现圆类Circle,Cylinder
- Spring技术栈构建完整java前后台团购网
- JAVA简历更新,三年工作经验
- 最新JAVA教学视频-共810G
- Myshopping购物系统
- 华南理工大学java期末考试真题
- Java基于Socket文件传输
- java音像店管理系统
- installanywhere 2009打包java桌面程序安装
- 滑动窗口协议模拟 JAVA.zip
- svm_java版本代码详细解释
- java实现汉诺塔小游戏
- 4.3读取摄像头并显示
- java2word jar包
- 图书管理系统 servlet+jsp适合初学者
- Java证书打印工具类
- java openCV 人脸识别 找茬
- platform.pk8和platform.x509.pem以及Signapk工
评论
共有 条评论