jquery struts2 文件下载

来源:互联网 发布:qq魅力值软件 编辑:程序博客网 时间:2024/05/29 06:47

不多说,直接上代码

<a href="#" id="downLoad" onClick="downLoad(fName);">'下载'</a>

<script>//实现文件下载       jQuery.download = function(url, data, method) {// 获取url和dataif (url && data) {// data 是 string 或者 array/objectdata = typeof data == 'string' ? data : jQuery.param(data);// 把参数组装成 form的  inputvar inputs = '';jQuery.each(data.split('&'), function() {var pair = this.split('=');inputs += '<input type="hidden" name="' + pair[0] + '" value="'+ pair[1] + '" />';});// request发送请求jQuery('<form action="' + url + '" method="' + (method || 'post')+ '">' + inputs + '</form>').appendTo('body').submit().remove();};};//下载附件function downLoad(fileName) {$.download("../action/downLoadFIle.a","paramFileName="+fileName,"post");}</script>


java代码

package cn.okaysoft.cfs.action.pei;import java.io.InputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class DanganDownFileAction extends ActionSupport{private String paramFileName; // 要下载的文件名public void setParamFileName(String paramFileName) {this.paramFileName = paramFileName;}public String getParamFileName() {return paramFileName;}// struts文件下载public InputStream getDownloadFile() throws Exception {String readPath = ServletActionContext.getServletContext().getRealPath("");String realName = paramFileName;readPath = readPath + "\\compilation\\" + realName; // 读文件路径// 解解乱码paramFileName = new String(paramFileName.getBytes("gbk"), "ISO-8859-1");String realPath="/compilation/"+realName;try {InputStream in= ServletActionContext.getServletContext().getResourceAsStream(realPath);     return in;} catch (Exception e) {e.printStackTrace();return null;}} @Override  public String execute() throws Exception {return SUCCESS;}}

//struts2配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"    "http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts><package name="dangan-fileDown" extends="struts-default"namespace="/action"><action name="downLoadFIle" class="cn.okaysoft.cfs.action.pei.DanganDownFileAction"><result name="success" type="stream"><param name="contentType">application/octet-stream;charset=ISO8859-1</param><param name="contentDisposition">attachment;fileName="${paramFileName}"</param><param name="inputName">downloadFile</param><param name="bufferSize">1024</param></result></action></package></struts> 


0 0
原创粉丝点击