JAVA Web 之 struts2文件上传下载演示(二)

一、文件上传演示

详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397

二、文件下载演示

1.Web界面

由于我的操作是,先上传文件,然后才能下载,所以,html代码中的fileFileName=${newFileName},而不是等于具体的文件名,大家在自己做项目的时候,可以修改一下

html代码:

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>下载文件</title>
</head>
<body>
<div align="center">
<a href="download?fileFileName=${newFileName}">下载</a>
</div>
</body>
</html>

2.Struts配置

xml代码:

         <action name="download" class="action.FileAction" method="download">
<result name="success" type="stream">
<param name="contentType">application/octet-stream</param>
<!-- filename的属性值,表示的是下载的时候,显示在下载工具中的文件名,而不一定是保存的文件的文件名 -->
<param name="contentDisposition">attachment;filename="${fileFileName}"</param>
<!-- 下载的文件流的方法名, 也就是说, 在Java代码里面必须有InputStream getDownloadFile()这个方法 -->
<!-- 在这里定义成文件名xxx,那么对应在Java文件中就必须要有InputStream getXxx()方法 -->
<param name="inputName">downloadFile</param>
<!-- 缓存大小 -->
<param name="bufferSize">4096</param>
</result>
<result name="input">index.jsp</result>
</action>

3.Java后台代码

java代码:

     public String download(){
return SUCCESS;
} public InputStream getDownloadFile() {
return ServletActionContext.getServletContext().getResourceAsStream(
"/file/" + fileFileName);
}

4.小注

至此,文件下载演示完成

<1>如果下载的时候,出现中文乱码,请看另一篇博客

http://titanseason.iteye.com/blog/1489517

<2>下载的效果图如下所示

JAVA Web 之 struts2文件上传下载演示(二)(转)的更多相关文章

  1. JAVA Web 之 struts2文件上传下载演示(一)(转)

    JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...

  2. Struts2文件上传下载

    Struts2文件上传 Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defau ...

  3. java 如何实现大文件上传下载(传输)各种格式

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...

  4. Java使用 SFTP实现文件上传下载

    package com.lijy.util; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import co ...

  5. Android与Asp.Net Web服务器的文件上传下载BUG汇总[更新]

    遇到的问题: 1.java.io.IOException: open failed: EINVAL (Invalid argument)异常,在模拟器中的sd卡创建文件夹和文件时报错 出错原因可能是: ...

  6. Struts2之文件上传下载

    本篇文章主要介绍如何利用struts2进行文件的上传及下载,同时给出我在编写同时所遇到的一些问题的解决方案. 文件上传 前端页面 <!-- 引入struts标签 --> <%@tag ...

  7. java web 文件上传下载

    文件上传下载案例: 首先是此案例工程的目录结构:

  8. Struts2文件上传和下载(原理)

    转自:http://zhou568xiao.iteye.com/blog/220732 1.    文件上传的原理:表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:1)     ...

  9. Struts2 文件上传,下载,删除

    本文介绍了: 1.基于表单的文件上传 2.Struts 2 的文件下载 3.Struts2.文件上传 4.使用FileInputStream FileOutputStream文件流来上传 5.使用Fi ...

随机推荐

  1. c++ const char *c_str(); 坑的学习

    语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过st ...

  2. 你所不知道的string.xml

    String 能被应用程序或者其他资源文件(比如layout XML)引用的单个字符串. 注意:字符串是简单类型资源,是用名称(name)(而非XML文件名)来直接引用的.因此,在一个XML文件里,可 ...

  3. hdu4432 Sum of divisors(数论)

    Sum of divisors Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. 【HDOJ】1222 Wolf and Rabbit

    最大公约数,辗转相除. #include <stdio.h> long long gcd(long long a, long long b) { if (a<b) return gc ...

  5. GL_INTERFACE

    prompt ****************************************************************************** 总账接口主要完成其他模块的总 ...

  6. 屯题50AC纪念

    从2.1起开始屯题,一直弄到现在才完成了一发50题的目标,实在太弱 (当然之间事比较多,还是挺不容易的) 不过总算是完成了一个小的目标了 接下来两周要进行小高考最后冲刺了,所以我大概不会再怎么刷题了 ...

  7. c#反射重载方法(发现不明确的匹配)

    GetMethod(string name) 在反射重载方法时,如果调用此重载方法,会产生 发现不明确的匹配 的错误. 解决方案如下: GetMethod("MethodName" ...

  8. HTML5实现在线抓拍

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...

  9. 理解SVG坐标系统和变换: 建立新视窗

    在SVG绘制的任何一个时刻,你可以通过嵌套<svg>或者使用例如<symbol>的元素来建立新的viewport和用户坐标系.在这篇文章中,我们将看一下我们如何这样做,以及这样 ...

  10. HTML特殊字符大全2

    HTML的特殊字符我们并不常用,但是有的时候却要在页面中用到这些字符,甚至有时候还需要用这些字符来实现某种特殊的视觉效果.现在,国外的设计师Neal Chester整理了一份很全的特殊字符集,我觉得这 ...