`
nopain_nogain
  • 浏览: 16080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 

1
0
分享到:
评论

相关推荐

    jQuery-File-Upload asp.net MVC3 Demo

    总结起来,"jQuery-File-Upload asp.net MVC3 Demo"是一个演示如何在ASP.NET MVC3框架下利用jQuery File Upload插件实现高效、友好的文件上传功能的示例。它涵盖了前端的表单构建、插件配置,以及后端的文件处理和...

    Jquery file upload Mvc4.0实例

    在Mvc4.0框架下,结合jQuery File Upload可以构建高性能、用户体验优秀的文件上传系统。 Mvc4.0是ASP.NET MVC框架的第四个主要版本,它在原有的基础上引入了对HTML5和响应式设计的支持,增强了开发Web应用程序的...

    jQuery-File-Upload for asp.net MVC

    《jQuery-File-Upload在ASP.NET MVC中的应用详解》 在Web开发中,文件上传功能是必不可少的一部分,尤其是在用户需要提交图片、文档等文件时。jQuery-File-Upload是一款广泛使用的前端文件上传插件,它提供了优雅的...

    ASP.NET MVC AJAX upload file

    ASP.NET MVC AJAX 文件上传示例代码。 使用 jquery.fileupload + bootstrap 实现,支持多个文件上传。 运行环境:Visual Studio 2012 project, ASP.NET MVC4

    用jQuery-File-Upload上传Excel文件(ASP.NET MVC)

    在本文中,我们将深入探讨如何使用jQuery-File-Upload插件在ASP.NET MVC框架下实现Excel文件的上传功能。这个过程涉及到前端HTML交互、JavaScript处理以及C#后端的控制器和模型验证。以下是对整个流程的详细解释: ...

    upload spring mvc

    String uploadPath = "/path/to/your/upload/directory/" + file.getOriginalFilename(); File uploadedFile = new File(uploadPath); file.transferTo(uploadedFile); ``` ### 7. 异常处理 别忘了处理可能出现的...

    struts2 upload file

    Struts2 Upload File是关于使用Apache Struts2框架进行文件上传的功能实现。在Web开发中,文件上传是一项常见的需求,例如用户可能需要上传个人头像、文档或图片等。Struts2作为Java企业级应用中广泛使用的MVC框架,...

    MVC Upload 代码

    "MVC Upload File"指的是在ASP.NET MVC框架下处理文件上传的功能。本文将深入探讨如何在MVC中实现文件上传,并涵盖相关的知识点。 一、理解MVC模式 MVC模式将应用分为三个主要组件:模型(Model)、视图(View)和...

    Spring MVC Multiple File Upload example

    System.out.println("Failed to upload - " + file.getOriginalFilename()); } } else { System.out.println("Empty file"); } } ``` 在上述代码中,我们使用了Java NIO库的`Paths.get()`和`Files.write()`...

    Jquery Struts2 Upload File

    **jQuery Struts2 Upload File** 是一个用于在Web应用程序中实现文件上传功能的组合技术,主要结合了jQuery库和Struts2框架。这篇文章将深入探讨这个主题,介绍如何利用这两者来实现高效的文件上传功能。 首先,...

    ajaxupload在spring mvc4.2中实现简单文件上传

    在Spring MVC 4.2框架中实现AjaxUpload(异步文件上传)是一个常见的需求,它允许用户在不刷新整个页面的情况下进行文件上传,提供更好的用户体验。以下是对这一主题的详细阐述: 1. **AjaxUpload简介**: Ajax...

    file_upload.zip

    在这个场景下,"file_upload.zip"是一个针对Yii2.0高级版设计的图片上传插件。这个插件旨在简化在Yii框架中实现图片上传功能的过程,尽管它主要是为高级版设计的,但通过一些调整,也可以适用于基础版。 首先,让...

    Spring MVC upload/download file(注释和非注释实现)

    return "You failed to upload " + file.getOriginalFilename() + " =&gt; " + e.getMessage(); } } else { return "You failed to upload because the file was empty."; } } ``` 在上面的代码中,我们检查了...

    jqueryFileUpload MVC3 demo

    【jQuery File Upload】是一个流行的JavaScript库,用于在网页上实现多文件上传功能。它与MVC3(Model-View-Controller)框架结合,提供了一种高效且用户友好的上传体验。MVC3是Microsoft ASP.NET框架的一个版本,它...

    angular-file-upload 上传控件

    Angular-File-Upload控件在.NET平台上运行良好,与ASP.NET MVC或Web API等框架结合使用,可以实现前后端的无缝对接。但需要注意的是,由于其依赖于HTML5的特性,对于不支持这些特性的浏览器,尤其是旧版的Internet ...

    MVC5异步批量支持拖拽上传文件示例

    这个示例项目名为"jQuery-File-Upload.MVC5-master",它结合了jQuery File Upload插件与ASP.NET MVC5的强大力量,为用户提供了一种高效且友好的文件上传体验。 首先,让我们了解MVC5的基本概念。ASP.NET MVC5是微软...

    前端项目-angular-file-upload.zip

    【前端项目-Angular File Upload】是一个专门为AngularJS框架设计的模块,用于实现前端的文件上传功能。在现代Web应用中,用户交互往往涉及到文件的上传,如图片、文档等,而Angular File Upload则提供了方便的API和...

    Asp.Net Mvc 多图上传(WebUpload)

    在Asp.Net Mvc框架中,实现多图上传是一项常见的需求,WebUpload是一个广泛使用的JavaScript库,专门用于处理这种任务。本文将深入探讨如何利用WebUpload与Asp.Net Mvc结合,实现高效、用户友好的多图上传功能。 ...

    jQuery-File-Upload-Java-master.zip_file jquery ja_jQuery File Up

    在Java环境中,jQuery File Upload通常与Servlet或Spring MVC等框架结合使用。在服务器端,你需要创建一个Servlet或Controller来接收上传的文件。"common-fileupload.jar" 提供了处理HTTP请求中的Multipart数据的...

Global site tag (gtag.js) - Google Analytics