首页>代码>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日
最近浏览更多
栈道小生  LV10 4月8日
暂无贡献等级
推墙大师  LV1 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日
qwer765  LV1 2022年5月11日
su12345su  LV8 2022年5月8日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友