首页>代码>java commons-fileupload上传文件>/upload/src/com/kayson/UDServlet/FileUploadServlet.java
package com.kayson.UDServlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
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.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


public class FileUploadServlet extends HttpServlet {
	private static String path = ""; //定义一个静态的路径变量
	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
	  this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

		path = this.getServletContext().getRealPath("/upload");	//获取表单里的上传文件的路径在接上/upload

	  try {
	   DiskFileItemFactory factory = new DiskFileItemFactory();		//创建一个磁盘工厂对象
	   ServletFileUpload up = new ServletFileUpload(factory);		//创建一个上传对象(在自己导的fileupload包中)
	   List<FileItem> ls = up.parseRequest(request);				//将对应的上传的文件数据(属性)保存到数组中

	   for (FileItem fileItem : ls) {								//开始将上传的文件写入服务器上的磁盘上
	    if (fileItem.isFormField()) {
	     String FieldName = fileItem.getFieldName();
	     //getName()返回的是文件名字 普通域没有文件 返回NULL
	     //                    String Name = fileItem.getName();
	     
	     String Content = fileItem.getString("gbk");
	     request.setAttribute(FieldName, Content);
	    } else {
	    
	     String nm =
	    	 fileItem.getName().substring(
	       fileItem.getName().lastIndexOf("\\") + 1);				//获取上传文件名
	     
	     System.out.println(nm);
	     System.out.println(fileItem.getName());
	     File mkr = new File(path, nm);								//在path指定的路径下创建mn这个文件
	     if (mkr.createNewFile()) {									//创建文件成功就把文件写入磁盘中
	      fileItem.write(mkr);										//文件写入磁盘
	     }
	     request.setAttribute("result", "上传文件成功!");
	    }
	   }
	  } catch (Exception e) {
	   e.printStackTrace();
	   request.setAttribute("result", "上传失败,请查找原因,重新再试!");
	  }
	  //有成功或失败跳转到自己指定的页面
	  request.getRequestDispatcher("/pages/admin/annex-manager.jsp").forward(request, response);
	}
}
最近下载更多
sl0018  LV13 2022年6月24日
暴风雨  LV6 2021年8月6日
lsq54365  LV14 2020年7月22日
lyd19931203  LV21 2020年6月16日
zd5468  LV7 2020年4月26日
一字清华  LV8 2020年4月5日
小舟呀  LV12 2020年3月24日
小小12  LV2 2019年10月12日
12345678_  LV8 2019年7月19日
gaopeng111  LV8 2019年7月17日
最近浏览更多
597117933  LV9 6月9日
gann2015  LV25 4月5日
栈道小生  LV10 2024年4月8日
惊艳的猕猴桃 2024年4月7日
暂无贡献等级
推墙大师  LV1 2024年1月2日
zw050256  LV7 2022年11月10日
2511952410  LV9 2022年10月12日
he2yong  LV11 2022年7月29日
ming_123_9715  LV23 2022年7月19日
sl0018  LV13 2022年6月13日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友