`

jsp中文件上传的实现

    博客分类:
  • Java
阅读更多

<%@ page import="java.util.*"%>
<%@ page import="java.io.File"%>
<%@ page import="org.apache.commons.fileupload.FileItem"%>
<%@ page import="org.apache.commons.fileupload.FileUploadBase"%>
<%@ page import="org.apache.commons.fileupload.FileUploadException"%>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page import="com.khnt.cdsp.xzxk.Import"%>
<%@ page import="com.khnt.pub.MemsUser" %>
<%@ page import="com.khnt.frame.foundation.user.User" %>
<%@ page contentType="text/html;charset=UTF-8"%>
<%
 String resultMsg = "";
 String filePath = "";
 MemsUser user = (MemsUser) session.getAttribute(User.NAME);
 String aCode = user.getAreacode();
 String paths = request.getParameter("path");
 String path = pageContext.getServletContext().getRealPath("/") + "files/" + paths + "/";
 
 try
 {
        // 1. 上传文件
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(4*1024);
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(1000*1024*1024);
        List itemList = null;
        try {
           itemList = upload.parseRequest(request);
        }catch (FileUploadBase.SizeLimitExceededException e){  
           // 请求数据的size超出了规定的大小.
           e.printStackTrace();
           response.getWriter().print("{success:false,errors:'请求数据的size超出了规定的大小'}");
           return;
        }catch (FileUploadBase.InvalidContentTypeException e){  
     // 无效的请求类型,即请求类型enctype != "multipart/form-data"  
           response.getWriter().print("{success:false,errors:'请求类型enctype != multipart/form-data'}");
           return;
        }catch (FileUploadException e){  
        // 如果都不是以上子异常,则抛出此总的异常,出现此异常原因无法说明. 
           response.getWriter().print("{success:false,errors:'上传过程异常,导致其原因可能是网速过慢或者其它原因'}");
           return;
        }
  
        if(itemList != null){
           Iterator it = itemList.iterator();
           while(it.hasNext())
           {
             FileItem item =(FileItem) it.next();
             if(!item.isFormField())
             {
                  String totalName = item.getName();
                  String name = "temp";
                  if(totalName != ""){
                     int index = totalName.lastIndexOf("\\");
                     name = totalName.substring(index+1);
                     //System.out.println(name);
                  }else{
                     name = "temp";
                  }
                  try {
                     filePath = path + name;
                     //System.out.println("-------------------" + path +name);
                     item.write(new File(filePath));
                  } catch (Exception e) {
                     e.printStackTrace();
                     response.getWriter().print("{success:false,errors:'写入磁盘错误'}");
                     return;
                 }
             }
            }
           }
           else{
             response.getWriter().print("{success:false,errors:'上传数据空'}");
             return;
          }
         
        // 2. 导入数据(操作数据库)
  resultMsg = Import.impExcel(filePath,aCode,user.getUserId());
  
  // 3. 返回结果
  out.print(resultMsg);
  //response.getWriter().print("{success:true,msg:'导入成功!'}");
 }
 catch (Exception e)
 {
  e.printStackTrace();
  out.print(resultMsg);
  //response.getWriter().print("{success:false,errors:'导入失败,请检查文件格式是否正确'}");
 }
%>

分享到:
评论

相关推荐

    JSP实现文件上传与下载.pdf

    1. 在实现JSP文件上传和下载时,需要注意文件上传的大小限制,避免上传大文件引发的服务器崩溃。 2. 在实现JSP文件上传和下载时,需要注意文件的安全性,避免恶意攻击和数据泄露。 3. 在实现JSP文件上传和下载时,...

    利用jsp实现文件上传下载

    在本文中,我们将学习如何使用 JSP 实现文件上传和下载功能。在这个过程中,我们将使用 Apache 的 Commons FileUpload 和 Commons IO 两个库来处理文件上传和下载。 首先,让我们了解一下文件上传和下载的基本概念...

    jsp 实现文件上传

    在 do_upload.jsp 文件中,我们使用了 Java 语言来实现文件上传功能。首先,我们使用了 File 类来创建一个文件对象,该文件对象用于存储上传的文件。然后,我们使用了 FileOutputStream 类来将上传的文件写入到...

    JSP多文件上传(同时上传)

    实现JSP多文件上传,我们需要了解以下几个关键知识点: 1. **HTML表单与多文件选择**: 在HTML中,`&lt;input type="file"&gt;`标签用于创建一个文件输入框,用户可以通过它选择文件。要支持多文件上传,需要设置`...

    jsp实现文件上传下载

    要实现文件上传,首先在JSP页面上创建一个form表单,设置`enctype="multipart/form-data"`属性,然后添加一个input元素用于选择文件。提交表单后,JSP页面对应的Servlet或Controller将接收到文件数据。在服务器端,`...

    JSP实现 文件上传

    本教程将详细介绍如何使用JSP来实现文件上传的功能。 一、理解文件上传原理 文件上传是通过HTTP协议的POST请求实现的。客户端(浏览器)使用表单中的文件输入控件选择要上传的文件,然后提交到服务器端。服务器端...

    利用Javabean+JSP 实现文件的上传、显示、下载

    JSP页面上,使用`&lt;form&gt;`标签设置`enctype="multipart/form-data"`,并将提交动作指向处理文件上传的Javabean方法。 2. **文件显示**: 显示文件列表通常涉及到数据库操作,因为文件路径和元数据可以存储在数据库...

    JSP实现文件上传和下载

    JSP实现文件上传和下载需要理解HTTP协议、Servlet原理以及文件操作。通过使用Apache Commons FileUpload库,可以简化文件上传的处理,而文件下载则需要设置正确的响应头和处理文件流。在实际应用中,还需要考虑安全...

    jsp文件的上传和下载

    本项目专注于解决在JSP中实现文件上传和下载时遇到的一些常见问题,特别是针对中文文件名的处理。下面我们将深入探讨这个主题。 首先,文件上传通常涉及到HTTP协议中的multipart/form-data类型表单。在JSP中,我们...

    jsp实现文件上传文档jsp实现文件上传文档

    在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 * 能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据...

    基于jsp的文件上传下载

    总之,基于JSP的文件上传下载是Java Web开发中的基础技能,它结合了HTML、JavaScript、Servlet和JavaBean等技术,通过合理的服务器端处理和客户端交互,实现了用户友好的文件操作功能。理解并掌握这部分知识,对于...

    JSP同时选择多文件上传MultifileUploadDemo

    在多文件上传的场景中,JSP主要负责接收和处理来自客户端的文件上传请求。 在"MultifileUploadDemo"中,我们利用了Flash作为前端的上传组件。Flash因其支持多媒体和交互性而被广泛用于创建丰富的互联网应用程序。在...

    简单的文件上传实现_jsp

    通过以上步骤,你可以实现一个基本的JSP文件上传功能。然而,实际项目中可能还需要考虑更多因素,如用户体验、文件存储策略、错误报告等。不断学习和实践,你将能构建出更完善、更安全的文件上传系统。

    jsp实现文件上传下载功能

    在 JSP 应用中实现文件上传主要涉及以下几个步骤: ##### 1. 创建表单 首先需要在 HTML 表单中定义文件上传字段,通常使用 `&lt;input type="file"&gt;` 来实现。 ```html &lt;form action="upload.jsp" method="post" ...

    使用jspSmartUpload实现文件上传下载

    总结,`jspSmartUpload`为Java Web开发者提供了一个强大的工具,使他们能够方便地实现文件上传和下载功能。通过了解`SmartUpload`类的关键方法和使用示例,开发者可以更好地在项目中集成这个组件,提升用户体验,...

    纯jsp实现文件上传(页面无刷新,表单数据可连续填写最后上传文件)

    在IT行业中,文件上传是常见的用户交互功能,特别是在网页应用中。本教程将详细解析如何使用纯JSP技术实现一个不刷新页面、允许用户连续填写表单数据并最终上传文件的功能。这一特性对于提高用户体验至关重要,因为...

    jsp文件上传功能实现

    总结来说,实现JSP文件上传功能的关键在于理解HTTP协议中文件上传的数据格式,正确设置HTML表单,以及在服务器端正确地解析和处理上传的数据。通过上述步骤,我们可以实现一个基本的文件上传功能,但实际应用中可能...

    jsp实现文件上传功能

    在这个特定的项目中,我们关注的是如何使用JSP来实现文件上传的功能,这是一个常见的需求,特别是在用户需要提交表单数据时包含文件,如图片、文档等。 文件上传通常涉及以下步骤: 1. **前端交互**:在用户界面,...

Global site tag (gtag.js) - Google Analytics