//一些主要的包和类

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.net.URLDecoder;
import java.net.URLEncoder;

/**
* 下载文件
* @return
* @throws UnsupportedEncodingException
*/

@Action(value="downloadAttachFile")
public String downloadAttachFile(){
  //从前台传过来的附件名字:格式是,“2006#系统测试.docx格式"
  String downloadName =wpyId+"#"+attachName;
  //传入的数据
  System.out.println(downloadName);
  try {
    OutputStream os = this.response.getOutputStream();

//OutputStream os = this.getResponse().getOutputStream();

    if (Util.isIE(this.request)) //判断客户端是否为IE
    {

//编码
      downloadName = URLEncoder.encode(downloadName, "UTF-8");
    }
    else
    {
      downloadName = new String(downloadName.getBytes("UTF-8"),"iso-8859-1");
    }
    //设置让浏览器弹出下载对话框的Header
    this.response.setContentType("application/x-download");
    this.response.addHeader("Content-Disposition","attachment;filename=\"" + downloadName + "\"");
    this.response.flushBuffer();
    //将前台的数据经过包装后(加了头数据,并经过编码)需要解码
    String downloadName1 =URLDecoder.decode(downloadName, "UTF-8");
    System.out.println(downloadName1);
    //解码的结果输出
    String bgFile=realPath + File.separator + downloadName1;

    FileInputStream fis = new FileInputStream(bgFile);
    Util.copyStrem(fis, os);
    fis.close();
    os.close();
    System.out.println("==========成功了!!===========");
  } catch (IOException e) {

  e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因
  System.out.println("==========出错了!!===========");
  }

  return NONE;
}

jsp action中附件下载的写法的更多相关文章

  1. javaweb-JSP action中附件下载的写法

     附件下载(包括图片,exl,word)在前台必须给出一个iframe 或者类似于window的窗口,另外,Java文件下载不能通过ajax进行请求,必须添加src属性首选,前台的链接拼接html如下 ...

  2. ThinkPHP---TP功能类之附件下载

    [案例]实现公文中附件下载 (1)修改模板文件showList.html,展示列表文件信息 将数据表中的filename(原始文件名)展示到附件下 <td>{$vol.filename}& ...

  3. JSP+Servlet中使用jspsmartupload.jar进行图片上传下载

    JSP+Servlet中使用cos.jar进行图片上传 upload.jsp <form action="FileServlet" method="post&quo ...

  4. Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法

    Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法 在Action中方法的返回值都是字符串行,一般情况是返回某个JSP,如: return "xx" ...

  5. jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html、jsp、servlet、action吗?是如何加载的?

    jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html.jsp.servlet.action吗?是如何加载的? 如有个test工程,其某个jsp中有个iframe,代码如下: ...

  6. struts2:JSP页面及Action中获取HTTP参数(parameter)的几种方式

    本文演示了JSP中获取HTTP参数的几种方式,还有action中获取HTTP参数的几种方式. 1. 创建JSP页面(testParam.jsp) <%@ page language=" ...

  7. struts2中怎么把action中的值传递到jsp页面

    对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让 ...

  8. jsp a标签传值到action中,action接收不到传值

    因为需求,今天在action中加了一个marker属性,尝试了很多方法 set,get方法也生成了,但是就接收不到值. 这时我注意到action中有我之前使用ajax请求数据返回json格式数据,不以 ...

  9. 将 jsp 页面的值 传到struts2 action中(不是表单中的值)

    JSP: 页面: <%@ page language="java"  pageEncoding="GBK"%> <%@taglib prefi ...

随机推荐

  1. 15-grep 简明笔

    在文件中搜索模式 grep [options] pattern [file-list] 参数 pattern为正则表达式,file-list为grep要搜索的普通文本文件的路径名列表 选项 -c    ...

  2. Apache Tomcat相应插件版本

    参考页面: http://tomcat.apache.org/whichversion.html

  3. vmware 在NAT模式下连接上外网

    文章: http://www.2cto.com/os/201504/389011.html

  4. 【BZOJ 2818】gcd 欧拉筛

    枚举小于n的质数,然后再枚举小于n/这个质数的Φ的和,乘2再加1即可.乘2是因为xy互换是另一组解,加1是x==y==1时的一组解.至于求和我们只需处理前缀和就可以啦,注意Φ(1)的值不能包含在前缀和 ...

  5. [转]JVM调优总结:一些概念

    JVM调优总结:一些概念 原文出处: pengjiaheng 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型.基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变 ...

  6. Yii2 Redis的使用

    Yii2 redis扩展    下载 将下载的解压,改名为redis,放在vendor\yiisoft\yii2\目录下 包含Connection.php,ActiveRecord.php等文件 修改 ...

  7. bzoj2938: [Poi2000]病毒

    建AC自动机,把所有病毒的节点都删掉,dfs判有没有环,有环就找得到. #include <iostream> #include <cstdio> #include <c ...

  8. python 基础 基本数据类型

    基本类型的补充 str --> 一次性创建的,不能被修改,强制修改就会在创建一个而之前的也会在 list -->允许重复的集合 修改  记录 链表,下一个元素的位置,上一个元素的位置 tu ...

  9. Win7 单机Spark和PySpark安装

    欢呼一下先.软件环境菜鸟的我终于把单机Spark 和 Pyspark 安装成功了.加油加油!!! 1. 安装方法参考: 已安装Pycharm 和 Intellij IDEA. win7 PySpark ...

  10. PHOG特征

    PHOG特征 2016年7月13日 21:07:57 什么是PHOG PHOG是Pyramid HOG(pyramid histogram of oriented gradient)的简称,是在图像尺 ...