`
eddiegift
  • 浏览: 27444 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

struts的文件上传and下载

阅读更多
public ActionForward upload (ActionMapping mapping, 
                               ActionForm actionForm, 
                               HttpServletRequest request, 
                               HttpServletResponse response) { 
    FileForm fileForm = (FileForm) actionForm; 
    int count = UploadAndDown.uploadFile(fileForm); 
    if (count > 0) { 
      this.save(request); 
      return mapping.findForward("sucess"); 
    } else { 
      return mapping.getInputForward(); 
    } 
  } 

  //将可供下载的文件名列表储存在请求中,在页面中显示出来
  private void save(HttpServletRequest request) {
    try {
      Vector v = DataBaseDAO.query();
      request.getSession().setAttribute("filename",v);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  public ActionForward down(ActionMapping mapping, 
                               ActionForm actionForm, 
                               HttpServletRequest request, 
                               HttpServletResponse response) { 
       try { 
         FileForm fileForm = (FileForm) actionForm; 
         InputStream file = UploadAndDown.down(fileForm.getName()); 
         byte[] bit = new byte[1024]; 
         int len = file.read(bit); 
         ServletOutputStream out = response.getOutputStream(); 

// 添加此句为下载文件,否则将文件流发送到页面<img src="actionPatch"/>中,在页面将图片显示出来 
//         response.addHeader("Content-Disposition","attachment;filename=" + "tt.jpg"); 
         while (len != -1) { 
           out.write(bit,0,len); 
           len = file.read(bit); 
         } 
         out.close(); 
         file.close(); 
       return mapping.findForward("show"); 
//         return null; 
       } catch (Exception e) { 
         e.printStackTrace(); 
         return null; 
       } 
   } 

   public static int uploadFile(FileForm fileForm) { 
    try { 
      int count = DataBaseDAO.insert(fileForm); 
      return count; 
    } catch (Exception e) { 
      e.printStackTrace(); 
      return 0; 
    } 
  } 

  public static InputStream down(String name) { 
    try { 
      // Vector v = DataBaseDAO.getFile(name); 
      //FileInputStream input = (FileInputStream)v.get(0); 
      InputStream input = new FileInputStream("F:\\picture\\13-02-07_1455.jpg"); 
      return input; 
    } catch (Exception e) { 
      e.printStackTrace(); 
      return null; 
    } 
  }
1
6
分享到:
评论

相关推荐

    Struts_UpAndDownFile【文件上传和下载】,文件上传和下载

    Struts_UpAndDownFile【文件上传和下载】,文件上传和下载,UpAndDownFile

    基于Hibernate和Struts的文件上传及下载.rar

    基于Hibernate和Struts的文件上传及下载源代码及详解,决不坑爹!

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    fileup-and-download.zip_fileup html_struts2

    Struts2框架实现的文件上传与下载系统。有详细的源码。

    使用Struts的Action来对数据库进行增、删、改、查四项操作(源码)

    &lt;br/&gt;3、访问http://localhost:8080/PaginationStruts/即可 &lt;br/&gt;4、记得部署MySQL的JDBC驱动程序和Struts所需要的lib文件到%Tomcat%\webapps\PaginationStruts\WEB-INF\lib\目录下或者%Tomcat%\common\lib...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上...

    ssh(structs,spring,hibernate)框架中的上传下载

     本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序。SSH各框架的均为当前最新版本:  •Struts 1.2  •Spring 1.2.5  •Hibernate 3.0  本文选用的数据库为Oracle 9i,当然你可以在不...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    Servlets和JSP核心技术 卷2(英文版) 第二部分

    没办法,文件超出上传20M限制 Servlets和JSP核心技术 卷2 内容还是很详细的,看过卷1的人可以继续用这本书深造,呵呵 目录: Chapter 1. Using and Deploying Web Applications Section 1.1. Purpose of Web ...

    servlet和jsp学习指南_pdf.rar

    第11章展示如何利用servlet 3的文件上传特性,以及如何在客户端改善用户的体验;第12章解释如何通过编程方式将资源发送到浏览器;第13章介绍如何利用decorator模式以及类来改变servlet请求和响应的行为;第14章讨论...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    java视频教程Day01 免费

    12. I/O and File (输入/输出流及文件) 13. Networking (网络编程) 以上教学过程中贯穿一个银行项目,根据每天所学的东西不断完善 J2EE部分 14. JDBC Overview and Using JDBC (JDBC概述及使用) 15. JDBC 2.0 ...

    java开源包10

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    Servlet和Jsp学习指南(带详细书签)

    第11章展示如何利用servlet 3的文件上传特性,以及如何在客户端改善用户的体验;第12章解释如何通过编程方式将资源发送到浏览器;第13章介绍如何利用decorator模式以及类来改变servlet请求和响应的行为;第14章讨论...

    spring4.1核心包

    包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 18. spring-webmvc-4.1.1.RELEASE.jar 包含...

    java开源包1

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包11

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

Global site tag (gtag.js) - Google Analytics