jspSmartUpload上传下载使用例子

Html代码

    <%@ page contentType="text/html;charset=GBK"%>
    <html>
        <head>
            <title>File Upload</title>
        </head>
        <body>
            <font size=5 color=#FF0000> <b>文件上传----使用jspsmart upload组件</b>
            </font>
            <br>  

            <form action="uploadfile" method="post" enctype="multipart/form-data">
                <p>
                    文件名称:
                    <input type="file" name="file1" size="20" maxlength="80">
                </p>
                <p>
                    文件名称:
                    <input type="file" name="file2" size="20" maxlength="80">
                </p>
                <p>
                    文件名称:
                    <input type="file" name="file3" size="20" maxlength="80">
                </p>
                <p>
                    上传路径:
                    <input type="text" name="path" size="30" maxlength="50">
                    <br>
                </p>  

                <p>
                    附加内容:
                    <input type="text" name="other" size="30" maxlength="50">
                </p>
                <p>
                    <input type="submit" value="上传">
                    <input type="reset" value="重置">
                </p>
            </form>  

            <font size=5 color=#FF0000> <b>文件下载----使用jspsmart upload组件</b>
            </font>
            <br>
            <form action="downloadfile" method="post">
                <p>
                    下载文件的名称:
                    <input type="text" name="downloadFileName" size="20" maxlength="80">
                </p>
                <input type="submit" value="下载">
        </body>
        </form>
    </html>  

---------------------------------------------------------------------

ServletUpload.java 上传

Java代码

    package wit.ou;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import com.jspsmart.upload.SmartUpload;
    /**
     * 描述:上传servlet
     * @author 2009-3-4  转载 http://www.blogjava.net/hijackwust/archive/2007/08/22/138598.html
     *
     */
    public class ServletUpload extends HttpServlet {
     private ServletConfig config;
     final public void init(ServletConfig config) throws ServletException {
      this.config = config;
     }  

     protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
      PrintWriter out = response.getWriter();
      out.println("<HTML>");
      out.println("<BODY BGCOLOR=‘white‘>");
      out.println("<H1>jspSmartUpload : Servlet Sample</H1>");
      out.println("<HR>");
      // 变量定义
      int count = 0;
      //创建一个SmartUpload类
      SmartUpload mySmartUpload = new SmartUpload();
      try {
            //初始化
            mySmartUpload.initialize(config, request, response);
           //上传
           mySmartUpload.upload();
           for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
            com.jspsmart.upload.File myfile = mySmartUpload.getFiles().getFile(i);
            String fileName = myfile.getFileName();
            //保存
            count = mySmartUpload.save("/upload");
            //count = mySmartUpload.save(null);
           }
           out.println(count + " file uploaded.");
      } catch (Exception e) {
           out.println("Unable to upload the file.<br>");
           out.println("Error : " + e.toString());
      }
      //通过 方法    mySmartUpload.getRequest().getParameter(arg0);还可以获取传过来的非file类型的其他值。
      out.println("</BODY>");
      out.println("</HTML>");
     }
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      doGet(request, response);
     }
    }  

--------------------------------------------------------------------

ServletDownload.java 下载

Java代码

    package wit.ou;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import com.jspsmart.upload.SmartUpload;
    public class ServletDownload extends HttpServlet {
         private ServletConfig config;
         final public void init(ServletConfig config) throws ServletException {
          this.config = config;
         }
         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          String temp_p =request.getParameter("downloadFileName");
          byte[] temp_t=temp_p.getBytes("ISO8859_1");
          String fileName=new String(temp_t,"GBK");
          SmartUpload mySmartUpload = new SmartUpload();
          try {
              //初始化
           mySmartUpload.initialize(config, request, response);
           //设置不自动打开
           mySmartUpload.setContentDisposition(null);
           mySmartUpload.downloadFile("/upload/"+fileName);
          } catch (Exception e) {
           e.printStackTrace();
          }
         }
         protected void doPost(HttpServletRequest request,
           HttpServletResponse response) throws ServletException, IOException {
          // TODO Auto-generated method stub
          doGet(request, response);
         }
        }  

其中上传的时候 还可以通过jar包提供的方法设置一些上传的参数!

下载文件常用的方法

1、setContentDisposition

作用:将数据追加到MIME文件头的CONTENT-DISPOSITION域。jspSmartUpload
组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。

原型:public void setContentDisposition(String contentDisposition)

其中,contentDisposition为要添加的数据。如果contentDisposition为null,则组件将自动添
加"attachment;",以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件
扩展名决定执行什么操作,扩展名为doc的将用word程序打开,扩展名为pdf的将用acrobat程序打开,等等)。

2、downloadFile

作用:下载文件。

原型:共有以下三个原型可用,第一个最常用,后两个用于特殊情况下的文件下载(如更改内容类型,更改另存的文件名)。

① public void downloadFile(String sourceFilePathName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名)

② public void downloadFile(String sourceFilePathName,String contentType)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。

③ public void downloadFile(String sourceFilePathName,String contentType,String destFileName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。

时间: 2024-09-30 09:31:03

jspSmartUpload上传下载使用例子的相关文章

在delphi中用indy实现FTP上传 下载的例子

         由于delphi本身自带了indy控件,因此用这些控件实现网络编程即快又容易.尽管如此,我还是极大地鼓励自己查看FTP底层是如何实现的,但就目前而言,indy控件还是一个非常不错的选择.        针对indy的强大,我还是决定将这段代码帖出来,主要是方便自己日后复习.查询. Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  

我的代码库-Java8实现FTP与SFTP文件上传下载

有网上的代码,也有自己的理解,代码备份 一般连接windows服务器使用FTP,连接linux服务器使用SFTP.linux都是通过SFTP上传文件,不需要额外安装,非要使用FTP的话,还得安装FTP服务(虽然刚开始我就是这么干的). 另外就是jdk1.8和jdk1.7之前的方法有些不同,网上有很多jdk1.7之前的介绍,本篇是jdk1.8的 添加依赖Jsch-0.1.54.jar <!-- https://mvnrepository.com/artifact/com.jcraft/jsch -

javaweb-文件的上传下载

本文用到的jar包: 文件上传:commons-fileupload-1.2.1.jar; commons-io-1.4.jar; 本文需要掌握的知识:html+dom 1 文件的上传概述; 1.1 用户把本地的文件储存到服务器上,就是文件的上传; 1.2 实现文件的上传(目前而言要使用第三方jar包); 1.2.1 jspSmartupload; 适用范围:应用在jsp的模型一里(嵌入执行上传下载操作的JSP文件中)  ; 1.2.2 fileUpload; 来源:Apache commons

JAVA中使用FTPClient实现文件上传下载

在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件. 一.上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保([email protected])创建 * @param url FTP服务器hostname

Struts2学习之文件上传/下载&amp;ValueStack(三)

简介 今天是学习Struts2第三天,也算struts2准备前奏告一段落,提升部分只能在后期深入了解,多看源码,多参阅资料.今天所学的知识点文件上传.下载/ValueStack&OGNL/Struts2标签 文件上传/下载 文件上传简介 a). 企业常用文件上传技术 : jspSmartUpload(主要应用 JSP model1 时代) . fileupload (Apache commons项目中一个组件). Servlet3.0 集成文件上传 Part类 b). Struts2 对文件上传

javaEE(10)_文件上传下载

一.文件上传概述 1.实现web开发中的文件上传功能,需完成如下二步操作: •在web页面中添加上传输入项•在servlet中读取上传文件的数据,并保存到本地硬盘中. 2.如何在web页面中添加上传输入项?    <input type=“file”>标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:•必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据.•必须把form的enctype属值设为multipart/form-data.设置该值后,浏览

JSP文件上传下载组件(1)

使用jspSmartUpload可以实现文件上传和下载 jspSmartUpload组件主要有4个类:File类,Files类,Request类和SmartUpload类 *SmartUpload类的initialize方法:这个方法是上传和下载共用的方法,他的作用是执行上传和下载的初始化工作,必须第一个执行.原型有多个,主要使用下面这个: public final void initialize(javax.serlvet.jsp.PageContext pageContext) 其中,pag

简单的FTP上传下载(java实现)

/** *阅读前请自己在win7上建立FTP主机 *具体步骤如:http://jingyan.baidu.com/article/574c5219d466c36c8d9dc138.html * 然后将以下FTP,username,password分别改成你的FTP ip地址 用户名 密码即可 * 本例子用了apche的commons-net-3.3.jar以方便FTP的访问 请手动buid -path * 待完成版 刷新按钮 登录 都还没有做 而且上传 下载 完成后都需要重新运行 * 2014-

Robot Framework--13 RFS+AutoItLibrary测试web上传下载

转自:http://blog.csdn.net/tulituqi/article/details/21888059 Selenium2library在我们实际测试web页面的时候基本上已经够用了,不过还是会有部分情况下会脱离Selenium2library的控制,无法进行操作.比如说下载文件的时候,要选择保存文件在什么地方,比如说上传文件的时候,要选择上传哪个文件,这些在Selenium2library下都没有很好的处理办法.但是结合上AutoItLibrary,就可以很好的来进行处理了.结合A