`
wyz316688
  • 浏览: 16201 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

SmartUpload组件

阅读更多
我喜欢实用性的东西,不喜欢理论性的东西,尤其对越来越多的新概念不是很感冒。因此,我的文章主要以实用性为目标,让需要的朋友切切实实的能解决问题。

本篇将讲述java常用的上传/下载组件 SmartUpload 的详细java的朋友不会陌生,几乎在所有的B/S架构的项目或者产品中都会用到文件的上传/下载。

关于SmartUpload组件可以在本篇下面的附件中下载。(已经解决上传/下载中文文件名的乱码问题,本人的开发环境均为UTF-8环境)

(1)文件上传

Html代码
<%@ page contentType="text/html;charset=UTF-8"%><%@ page import="com.soft4j.httpupload4j.SmartUpload"%><%@ page import="com.soft4j.bo.WebFileMgr"%><%  
    String ret = null;  
    SmartUpload su = null;  
    try{  
        su = new SmartUpload();  
        su.initialize(pageContext);  
        su.upload();  
        ret = WebFileMgr.upload(su,pageContext);//WebFileMgr.java 处理文件上传  
        if(ret!=null){   
            out.print("successed");  
        }  
    }catch(Exception e){  
        out.print("faild");  
    }finally{  
        su = null;  
    }  
%> 

<%@ page contentType="text/html;charset=UTF-8"%><%@ page import="com.soft4j.httpupload4j.SmartUpload"%><%@ page import="com.soft4j.bo.WebFileMgr"%><%
String ret = null;
SmartUpload su = null;
try{
su = new SmartUpload();
su.initialize(pageContext);
su.upload();
ret = WebFileMgr.upload(su,pageContext);//WebFileMgr.java 处理文件上传
if(ret!=null){
out.print("successed");
}
}catch(Exception e){
out.print("faild");
}finally{
su = null;
}
%>


WebFileMgr.upload(su,pageContext)方法内容:
Java代码
  /** 
* 上传方法. 
* @param su 
* @param pageContext 
* @return 
* @throws Exception 
*/ 
  public static String upload(SmartUpload su,PageContext pageContext) throws Exception {  
      com.soft4j.httpupload4j.File suFile = null;  
      int fileCount = 0;  
      int maxFileSize = 900;//单个文件最大为900K  
      String AllowedExtensions=",jpg,jpeg,gif,png,";//允许上传的文件类型  
      try {  
            
          for (int i=0; i<su.getFiles().getCount();i++) {  
              suFile = su.getFiles().getFile(i);  
              if (suFile.isMissing())  
                  continue;  
              fileSize = suFile.getSize()/1024;//字节转换成KB  
              if(fileSize==0) fileSize=1;  
 
              if(maxFileSize<fileSize) throw new Exception("单个上传文件的容量不能超过["+maxFileSize+"KB]");  
 
              if (suFile.getFileExt() == null 
                      || "".equals(suFile.getFileExt())) {  
                  fileExt = ",,";  
              } else {  
                  fileExt = "," + suFile.getFileExt().toLowerCase() + ",";  
              }  
 
              if (!"".equals(AllowedExtensions)  
                      && AllowedExtensions.indexOf(fileExt) == -1) {  
                  throw new Exception("您上传的文件[" + suFile.getFileName()  
                          + "]的类型为系统禁止上传的文件类型,不能上传!");  
              }  
 
              fileCount++;  
          }  
          if (fileCount==0) throw new Exception("请选择上传的文件");  
 
          StringBuffer fullFileName = null;//保存到服务器上的文件名(带路径)  
          for (int i=0; i<su.getFiles().getCount();i++) {  
              suFile = su.getFiles().getFile(i);  
              if (suFile.isMissing()) continue;  
              fullFileName = new StringBuffer("文件的路径");//填写 文件的路径  
              fullFileName.append("文件名");//填写 文件名  
              suFile.saveAs(fullFileName.toString(),SmartUpload.SAVE_PHYSICAL);  
          }  
          return "successed";  
      } finally {  
        //  
      }  
  } 

    /**
* 上传方法.
* @param su
* @param pageContext
* @return
* @throws Exception
*/
    public static String upload(SmartUpload su,PageContext pageContext) throws Exception {
        com.soft4j.httpupload4j.File suFile = null;
        int fileCount = 0;
        int maxFileSize = 900;//单个文件最大为900K
        String AllowedExtensions=",jpg,jpeg,gif,png,";//允许上传的文件类型
        try {
           
            for (int i=0; i<su.getFiles().getCount();i++) {
                suFile = su.getFiles().getFile(i);
                if (suFile.isMissing())
                    continue;
                fileSize = suFile.getSize()/1024;//字节转换成KB
                if(fileSize==0) fileSize=1;

                if(maxFileSize<fileSize) throw new Exception("单个上传文件的容量不能超过["+maxFileSize+"KB]");

                if (suFile.getFileExt() == null
                        || "".equals(suFile.getFileExt())) {
                    fileExt = ",,";
                } else {
                    fileExt = "," + suFile.getFileExt().toLowerCase() + ",";
                }

                if (!"".equals(AllowedExtensions)
                        && AllowedExtensions.indexOf(fileExt) == -1) {
                    throw new Exception("您上传的文件[" + suFile.getFileName()
                            + "]的类型为系统禁止上传的文件类型,不能上传!");
                }

                fileCount++;
            }
            if (fileCount==0) throw new Exception("请选择上传的文件");

            StringBuffer fullFileName = null;//保存到服务器上的文件名(带路径)
            for (int i=0; i<su.getFiles().getCount();i++) {
                suFile = su.getFiles().getFile(i);
                if (suFile.isMissing()) continue;
                fullFileName = new StringBuffer("文件的路径");//填写 文件的路径
                fullFileName.append("文件名");//填写 文件名
                suFile.saveAs(fullFileName.toString(),SmartUpload.SAVE_PHYSICAL);
            }
            return "successed";
        } finally {
        //
        }
    }



上面的JSP,Java代码就可以实现文件的上传.

(2)文件下载

下载相对更为简单,只要设定下载的文件名(带路径)就可以了.

Html代码
<%@ page contentType="text/html;charset=UTF-8"%> 
<%@ page import="com.soft4j.httpupload4j.SmartUpload"%> 
<%  
    //新建一个SmartUpload对象  
    SmartUpload su = new SmartUpload();  
    //初始化  
    su.initialize(pageContext);  
    //设定要下载的文件名(带路径)  
    String fileName="下载的文件名";//文件名(带路径)  
    try{  
        su.downloadFile(fileName);//下载文件  
    }catch(Exception e){  
        e.printStackTrace();  
        out.println(e.toString());  
    }  
    response.getOutputStream().close();  
%> 

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="com.soft4j.httpupload4j.SmartUpload"%>
<%
//新建一个SmartUpload对象
    SmartUpload su = new SmartUpload();
    //初始化
    su.initialize(pageContext);
    //设定要下载的文件名(带路径)
    String fileName="下载的文件名";//文件名(带路径)
    try{
    su.downloadFile(fileName);//下载文件
    }catch(Exception e){
    e.printStackTrace();
    out.println(e.toString());
    }
    response.getOutputStream().close();
%>





-----------------------
附录:
(1). 解决中文问题的修改说明.参见[zip压缩包中的SmartUpload.java]
(2). smartupload.zip









smartupload.zip (9 KB)
下载次数: 1521
分享到:
评论
1 楼 wj98127 2010-08-03  
不能下载呀

相关推荐

    smartUpload组件

    smartUpload组件

    SmartUpload组件及使用示例

    "SmartUpload组件"就是这样一个专门针对文件上传任务而设计的工具,尤其在基于Java的JSP(JavaServer Pages)开发中应用广泛。本文将详细介绍SmartUpload组件及其使用示例,帮助开发者更好地理解和运用这个强大的...

    使用jspSmartUpload组件在jsp中实现上传和下载

    使用jspSmartUpload组件在jsp中实现上传和下载 在现代Web开发中,文件上传与下载是常见的需求之一,尤其在企业级应用、个人博客、图片分享等场景中尤为重要。jspSmartUpload作为一款专为JSP设计的文件上传组件,以...

    smartupload组件

    SmartUpload组件是一款强大的Java上传组件,它为Web应用提供了便捷的文件上传功能。在Web开发中,文件上传是一项常见的需求,比如用户提交表单时可能需要上传头像、附件等。SmartUpload通过封装HTTP请求,使得处理...

    jspSmartUpload 组件的上传下载完整实例

    采用jspSmartUpload 组件实现的上传下载的完整实例 下载即可运行,但是这个压缩包不支持中文名称的文件下载功能,我上传了一个可以下载中文的不会乱码的jspSmartUpload 组件,网址:...

    jspSmartupload组件

    原始的jspSmartupload组件不支持中文上传,所以我把这个源码进行修改后,现在可以支持中文上传了,你的工程也必须是在统一的utf-8的编码环境下,因为我做的修改,就是将中文用utf-8进行编码。 我只测试了上传功能,...

    jspSmartUpload组件

    **jspSmartUpload组件详解** `jspSmartUpload`是一款在Java Web开发中广泛使用的文件上传与下载组件,尤其在基于JSP(JavaServer Pages)的应用中,它提供了方便、高效的文件处理功能。本篇文章将深入探讨该组件的...

    SmartUpload组件上传下载实例

    SmartUpload组件是一个强大的Java上传下载工具,它在Web开发中被广泛应用,特别是在处理大量文件上传和下载场景时。本文将详细介绍SmartUpload的工作原理、主要功能、如何使用以及它在实际项目中的应用实例。 1. **...

    jspsmartupload组件源码.zip_ jspSmartUpload_jsp_jsp 上传文件_jspSmartUplo

    **JSpsmartupload组件**是一个基于Java的上传文件解决方案,主要应用于JSP(Java Server Pages)环境中。这个组件提供了一种简单且强大的方式来处理用户通过网页上传的文件。在标题和描述中提到的,该组件的核心是用...

    jspSmartUpload组件反编译后源码

    **jspSmartUpload组件详解** `jspSmartUpload`是一款在Java Web开发中广泛使用的上传组件,它为开发者提供了处理用户文件上传的功能。这个组件的核心在于它简化了文件上传的复杂过程,使得开发者能够方便地在JSP...

    JspSmartUpload组件+源码+使用攻略

    **JspSmartUpload组件详解及使用攻略** JspSmartUpload是一个功能强大的Java Web上传组件,专为处理用户在网页上提交的多文件上传而设计。它简化了在JSP(JavaServer Pages)环境中处理文件上传的过程,使得开发者...

    jspSmartUpload组件的安装与配置

    ### jspSmartUpload组件的安装与配置 #### 一、jspSmartUpload组件简介 jspSmartUpload组件是一款专门针对Java Web应用程序设计的文件上传组件。它简化了文件上传过程中的复杂性,使得开发者能够轻松地集成文件...

    SmartUpload组件使用(视频)

    SmartUpload组件是一个强大的文件上传工具,常用于Web应用程序中,为用户提供方便、高效的文件上传功能。这个组件以其灵活的配置和丰富的API,使得开发者能够轻松地集成到自己的项目中,处理各种复杂的上传需求。 ...

    JspSmartUpload组件及源码

    **JspSmartUpload组件详解** JspSmartUpload是一款在JSP环境下广泛使用的文件上传组件,它简化了在Web应用中处理文件上传的过程。这个组件由Uriel Janosse开发,提供了一个直观且易于使用的API,使得开发者能够方便...

    jspsmartupload组件源码

    **JSpsmartupload组件源码详解** JSpsmartupload是一个由www.jspsmart.com网站提供的免费、全面的文件上传和下载组件,适用于在JSP应用中实现高效且可靠的文件操作功能。这个组件的设计目的是简化在Java Web环境中...

    利用jspSmartUpload组件进行文件上传

    在提供的`JspSmartUpload.chm`文件中,通常包含了组件的详细文档,包括API参考、示例代码和常见问题解答等,这对于理解和使用JSP Smart Upload非常有帮助。通过查阅这个帮助文件,开发者可以更深入地了解如何利用该...

    jspSmartUpload组件(支持中文)

    **jspSmartUpload组件详解** `jspSmartUpload`是一款在Java Web开发中广泛使用的上传组件,尤其在处理用户通过网页上传文件时,它提供了一种高效、便捷的解决方案。这款组件最初设计时可能不完全支持中文文件名,但...

    JSP 文件的上传与下载 smartupload组件

    在这个场景中,我们关注的是JSP中的文件上传和下载功能,以及如何利用SmartUpload组件来实现这一目标。SmartUpload是一个强大的文件上传组件,它简化了在JSP中处理文件上传的过程。 首先,我们要理解文件上传的基本...

    jsp上传完整源码及SmartUpload组件

    【标题】"jsp上传完整源码及SmartUpload组件"揭示了这个压缩包是关于使用JavaServer Pages(JSP)技术实现文件上传功能的一个实例。在Web开发中,文件上传是常见的用户交互需求,例如用户上传个人照片、文档或音频...

Global site tag (gtag.js) - Google Analytics