java--struts下载
来源:互联网 发布:人工蜂群算法不足 编辑:程序博客网 时间:2024/06/05 04:55
原文转自:http://blog.csdn.net/chinasoftosg/article/details/7903053
DownloadAction:
package crm.action;
import java.io.File;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class DownloadAction extends ActionSupport {
private String paramName;
private File download;
private String downloadFileName;
private String downloadContentType;
public String getParamName() {
return paramName;
}
public void setParamName(String paramName) {
this.paramName = paramName;
}
public File getDownload() {
return download;
}
public void setDownload(File download) {
this.download = download;
}
public String getDownloadFileName() {
return downloadFileName;
}
public void setDownloadFileName(String downloadFileName) {
this.downloadFileName = downloadFileName;
}
public String getDownloadContentType() {
return downloadContentType;
}
public void setDownloadContentType(String downloadContentType) {
this.downloadContentType = downloadContentType;
}
// 从下载文件原始存放路径读取得到文件输出流
public InputStream getDownloadFile() throws UnsupportedEncodingException {
paramName = new String(paramName
.getBytes("ISO8859-1"), "utf-8");
downloadFileName = paramName;
//相对路径
return ServletActionContext.getServletContext().getResourceAsStream("/upload/"+downloadFileName);
//绝对路径
//return new FileInputStream("E:/贾秋峰备份/软件库/"+downloadFileName);
}
// 如果下载文件名为中文,进行字符编码转换
public String getDownloadChineseFileName() {
String downloadChineseFileName = "";
try {
downloadChineseFileName = new String(downloadFileName
.getBytes("GBK"), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return downloadChineseFileName;
}
}
struts.xml:
<!-- 文件下载 -->
<action name="downloadFile" class="downloadAction">
<param name="paramName">123.jpg</param>
<result type="stream">
<!-- 指定下载的文件类型 -->
<param name="contentType">application/octet-stream</param>
<!-- 由getDownloadFile()方法返回下载文件的inputStream -->
<param name="inputName">downloadFile</param>
<!-- 下载的文件名 -->
<param name="contentDisposition">attachment;filename="${downloadChineseFileName}"</param>
<!-- 下载文件的缓存大小 -->
<param name="bufferSize">70960</param>
</result>
</action>
applicationContext.xml:
<bean id="downloadAction" class="crm.action.DownloadAction" scope="prototype"/>
download.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>上传文件</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body style="text-align: center;">
<a href="downloadFile.action">123.jpg</a>
</body>
</html>
- java--struts断点续传下载
- java--struts下载
- java struts实现文件下载
- Java Struts文件上传和下载详解
- Java Struts文件上传和下载详解
- JAVA SSH ----Struts上传与下载文件
- java实现文件下载功能(Struts和普通下载)
- struts下载
- struts下载
- struts下载
- java通过struts实现web中的文件下载
- java Struts+Hibernate企业人力资源管理系统源代码下载
- java Struts+Hibernate报价管理系统源代码下载
- java框架Struts学习--文件上传与下载
- Struts生成Word下载
- Struts的文件下载
- struts实现下载篇
- Struts实现上传、下载
- 在excel中用vb做简单的数据帅选
- “CFW&辛巴达”杯女装(欣赏篇)
- bios
- UIScrollView 原理详解
- 带失去日期格式化
- java--struts下载
- content values
- linux 技术博客和网站
- ASP.NET MVC 入门8、ModelState与数据验证
- Uva-1627-Team them up!
- 【比特币】椭圆曲线数字签名算法-ECDSA
- Xcode连接git@osc
- No.09 Xcode(5.x) UITextField
- 设计模式学习笔记——中介者模式