- 浏览: 94753 次
- 性别:
- 来自: 济南
最新评论
-
fightingIOW:
案例看了,能实现上传,但是不是异步的,怎么改成页面可以预览呢? ...
swfUpload实例 -
kizz:
您好,实例我看了,确实不错。您有struts2版的吗?现在项目 ...
swfUpload实例
第一步:struts2文件下载 xml配置
<action name="download"
class="action.netDiskAction.DownloadAction">
<!-- 文件名 -->
<param name="fileName"></param>
<result name="success" type="stream">
<!-- 类型-->
<param name="contentType">text/plain</param>
<!-- 前台链接参数 -->
<param name="contentDisposition">
attachment;filename="${downloadChineseFileName}"
</param>
<!-- -->
<param name="inputName">downloadFile</param>
</result>
<result name="downloaderror" type="chain">
showResList
</result>
</action>
第二步: 类的实现
package action.netDiskAction;
import java.io.File;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* 个人中心资源问答下载附件实现
*
* @author huyt
*
*/
public class DownloadAction extends ActionSupport {
private String fileName; // 文件名和文件路径
private String newFileName; // 用于下载后显示的文件名
private boolean isExists; // 用户判断文件是否存在
private int toPage; // 下载资源所在的当前页面
// 从下载文件原始存放路径读取得到文件输出流
public InputStream getDownloadFile() {
return ServletActionContext.getServletContext().getResourceAsStream(
"/" + fileName);
}
// 如果下载文件名为中文,进行字符编码转换
public String getDownloadChineseFileName() {
String downloadChineseFileName = newFileName;
try {
downloadChineseFileName = new String(downloadChineseFileName
.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return downloadChineseFileName;
}
public String execute() {
String basePath = ServletActionContext.getServletContext().getRealPath(
"");
String filePath = basePath + fileName;
File file = new File(filePath);
if (!file.exists()) {
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("message", "文件已经不存在,请联系管理员!");
// 如果topage为0时,说明在第一页,需要进行重新设置为1
if (toPage == 0) {
toPage = 1;
}
return "downloaderror";
} else {
return SUCCESS;
}
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getNewFileName() {
return newFileName;
}
public void setNewFileName(String newFileName) {
this.newFileName = newFileName;
}
public int getToPage() {
return toPage;
}
public void setToPage(int toPage) {
this.toPage = toPage;
}
}
发表评论
-
flashPaper转换swf代码 java
2011-09-08 16:12 2859// 使用flashPaper进行 ... -
自主项目安装部署(包含文档)
2011-09-08 15:21 12221. 安装Oracle 1.1运行安装Oracl ... -
oracle 循环插入数据
2011-09-05 17:53 833declarev_LoopCounter Binary_Int ... -
oracle数据库自动备份
2011-09-05 16:13 455把/opt/oraBakSH目录权限放开:chmod -R 7 ... -
后台验证struts2的上传文件大小
2011-08-05 17:06 2166/** * 返回值true表示验证文件大小通过<br/ ... -
tomcat虚拟目录配置(lunix/windows)
2011-08-03 10:50 765虚拟目录的配置: 在</host>的前面添加: ... -
myeclipse6.5 注册码生成器
2011-07-25 09:30 1093解决开发工具myEclipse6.5 注册码过期问题 ... -
本项目中使用添加收藏和设置首页
2011-07-23 14:41 746调用链接: <a href="javascr ... -
常用的网页播放器代码
2011-07-22 16:15 921常用的网页播放器代 ... -
orale不同数据库之间,表数据的转存
2011-07-21 16:27 965不同数据库之间,数据移行 目标: 在oracle数据库 ... -
解决点击页面的查询后,刷新页面,会弹出浏览器自带的对话框
2011-07-20 17:28 9201. 现象:点击页面的查询后,刷新页面,会弹出浏览器自带的对话 ... -
防刷新重复提交 action配置(防乱码) js防刷
2011-07-20 11:35 26771. 现象:在我们系统中,新增、编辑数据后,继续刷新页面后,会 ... -
swfUpload实例
2011-07-19 13:50 10311很好的实例: 官方网站: http://swfup ... -
图片轮播js及调用
2011-07-08 10:54 16931. 图片轮播所需js // JavaScript Docu ... -
设置首页和添加收藏夹
2011-07-06 09:30 952// JavaScript Document /* *Ç ... -
java导入excel表格
2011-06-18 16:31 966一个从网上下载的很好的excel操作资料! 1 从Ex ... -
枚举的使用 实例
2011-06-17 15:44 753package utils; import java.uti ... -
js 判断文件时候为空
2011-06-16 17:30 3333/** * 初始化 选择试题列表页面,判断复选框是否选中 ** ... -
struts2 下的文件下载
2011-06-16 17:28 907推荐:Struts 2中实现文件下载(修正中文问题)http: ... -
解决linux下oracle导入数据中文乱码方案
2011-05-25 09:53 1855<script type="text/ ...
相关推荐
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...
本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...
在Struts中实现文件下载是一项常见的功能,尤其在处理用户请求获取服务器上的静态或动态资源时。这篇博文将深入探讨如何在Struts框架下实现文件下载的功能。 首先,我们需要了解文件下载的基本原理。当用户点击下载...
这个API帮助文档是开发者在使用Struts2框架时的重要参考资料,它详细阐述了框架的各种组件、类库和方法,有助于理解并有效利用Struts2的功能。 1. **Struts2核心组件** - `struts2-core`:这是Struts2框架的核心...
总之,这个项目实例为使用Struts2和Uploadify实现带进度条的多文件上传及下载功能提供了一个基础模板,对于学习和实践此类功能的开发者来说是一个有价值的参考。通过深入研究和理解这个项目的代码,可以提升对Struts...
struts2官方文档
在Struts2中处理文件下载是常见的需求,比如用户请求下载服务器上的文件,如PDF、图片或其他类型的文档。本案例"Struts2之struts012"将深入探讨如何在Struts2中实现文件下载的功能。 首先,我们需要创建一个Action...
这个“Struts2接口文档”是开发者的重要参考资料,提供了关于Struts2框架内各个组件、类库以及接口的详细说明,帮助开发者深入理解框架的内部工作原理并有效地使用其功能。 Struts2的核心组件包括Action、Result、...
在下载并解压"struts2所有jar包"后,开发者需要将lib目录下的所有jar文件添加到项目构建路径中,确保运行时可以找到所有依赖。对于Maven或Gradle用户,可以通过在pom.xml或build.gradle文件中指定相应的依赖项,实现...
"struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...
struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2中用Spring实现IOC struts2中的零配置与IOC struts2介绍之使用连接...
通过上述步骤,我们就可以在Struts2框架下实现文件流方式的下载功能,无论是Excel、TXT还是图片,都能有效地直接返回给浏览器,让客户端进行下载。这种方式既节省了服务器资源,也提高了用户体验。在实际项目中,...
在项目中使用Struts2时,我们需要配置struts2的主配置文件(struts.xml),定义Action、结果类型、拦截器栈等。Action是业务逻辑的入口点,Result表示一个操作完成后转向的页面或结果。拦截器是Struts2的一大特色,...
在这个特定的项目中,我们关注的是"struts2文件上传下载"的功能,这涉及到用户通过Web界面上传文件到服务器,以及从服务器下载文件到用户的设备。 文件上传是Web应用中的常见需求,例如用户可能需要提交图片、文档...
在基于Struts2的文件上传下载功能中,它提供了处理用户上传文件和提供文件下载的服务。这个完整的源代码是实现这些功能的一个实例,经过测试确保了其正确性和可用性。 首先,我们要理解Struts2中的Action类。Action...
4. **结果类型(Result Types)**:Struts2支持多种结果类型,如`dispatcher`(默认,将结果转发到JSP页面)、`stream`(用于文件下载)、`redirect`(重定向URL)等,可以根据不同的需求选择合适的结果类型。...
网上很多有关struts2的api文档都是不全的。我经过精心整理出的struts2api文档,非常齐全。
在这个名为"lib.zip"的压缩包中,包含了运行Struts2应用程序所必需的JAR文件。这些库文件对于理解Struts2的工作原理和开发流程至关重要。 首先,"commons"标签暗示了Apache Commons项目的一些组件,它们是Java开发...