• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: Java
  • 标签: form  servlet  java  jsp  

资源简介

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


评论

共有 条评论