Upload FIle(MVC)

JSP页面

<html>
      <head>
            <title>Upload File</title>
       </head>
       <body>
           <form action="servlet/UploadFile" method="post" enctype="multipart/form-data">
                  <input type="file" name="file">
                  <input type="submit" value="Upload">
           </form>
       </body>
</html>

 

Servlet

package com.zsj.rf;

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

import com.zsj.userBean.UploadBean;

/**
 * upload file servlet
 * @author ZhiShuaiJie
 *
 */

public class UploadFile extends HttpServlet {

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

  //get target path/WebApplication path
  //upload folder must entity
  String path = this.getServletContext().getRealPath("upload");
  System.out.println(path);//D:/Program Files/apache-tomcat-6.0.18/webapps/lucene1.1/upload
  // Create a factory for disk-based file items
  FileItemFactory factory = new DiskFileItemFactory();

  // Create a new file upload handler
  ServletFileUpload upload = new ServletFileUpload(factory);
  List items = null;
  try {
   items = upload.parseRequest(request);
  } catch (FileUploadException e) {
   e.printStackTrace();
  }

  // Process the uploaded items
  Iterator iter = items.iterator();
  // Java Bean
  UploadBean uploadBean = new UploadBean();
  while (iter.hasNext()) {
   FileItem item = (FileItem) iter.next();
   // 如果不是上传文件,....
   if (item.isFormField()) {
    uploadBean.processFormField(item);
   } else {
    boolean flag = uploadBean.processUploadedFile(path, item);
    if (flag) {
     // 转向上传成功界面
     response.sendRedirect("/you item name/uploadsuccess.jsp");
    } else {
     // 转向上传失败界面
     response.sendRedirect("/you item name/uploadfailed.jsp");
    }
   }
  }

 }
}

 

JavaBean

package com.zsj.userBean;

import java.io.File;
import org.apache.commons.fileupload.FileItem;

/**
 * upload file bean
 * @author ZhiShuaiJie
 *
 */
public class UploadBean {

 /**
  *
  * @param path
  *    target path
  * @param item
  *    upload of file
  * @return
  *    return upload success or failed
  */
 public boolean processUploadedFile(String path, FileItem item) {
  // Process a file upload
  boolean flag = false;
  String fileName = item.getName();
  // get behind of webapplication path filename
  String fn = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName
    .length());
  if (fn.length() <= 1) {
   return flag;
  }

  File uploadedFile = new File(path, fn);
  try {

   item.write(uploadedFile);
   flag = true;
   return flag;
   //write to target folder and return true,programming of exit
  } catch (Exception e) {
   e.printStackTrace();
  }
  return false;
 }

 /**
  * not upload file
  *
  * @param item
  */
 public void processFormField(FileItem item) {
  // Process a regular form field
  if (item.isFormField()) {
   String name = item.getFieldName();
   String value = item.getString();
  }
 }
}

//备注,须自行下载两下jar包,下载地址http://www.apache.org/

//注意蓝色字体部分

              commons-fileupload-1.1.1.jar

              commons-io-1.2.jar

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值