01.创建一个下载的页面  (我们的下载是把文件的路径写成固定的)

  <body><form action="user/download" method="post"><input  type="text"  name="download"/><input  type="submit"  value="下载"/></form></body>

02.创建对应的struts.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><!--设置开发模式  --><constant name="struts.devMode" value="true"/><package name="default"  namespace="/user" extends="struts-default"><!-- 文件下载  --><action name="download" class="cn.bdqn.action.DownloadAction" method="download"><result name="input">/error.jsp</result><result type="stream"><!-- ${fileName} 后台获取的fileName --><param name="contentDisposition">attachment;filename=${fileName}</param></result></action></package>
</struts>

03.创建对应Action

public class DownloadAction extends ActionSupport {private   String  download; //文件下载的路径private   String  fileName; //下载的文件名称private  InputStream inputStream; //创建输入流对象//文件下载public  String  download(){try {inputStream=new FileInputStream(download);// E:\U1\cat.jpg    只获取文件名int index=download.lastIndexOf("\\");fileName=download.substring(index+1);//防止下载时候中文乱码try {fileName=URLEncoder.encode(fileName, "utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}} catch (FileNotFoundException e) {e.printStackTrace();return  INPUT;}return SUCCESS;}public String getDownload() {return download;}public void setDownload(String download) {this.download = download;}public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;}public InputStream getInputStream() {return inputStream;}public void setInputStream(InputStream inputStream) {this.inputStream = inputStream;}}

转载于:https://www.cnblogs.com/xtdxs/p/7097538.html

Struts12---文件的下载相关推荐

  1. 自己动手写简单的web应用服务器(4)—利用socket实现文件的下载

    直接上源码: 服务器: 1 package download; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOut ...

  2. iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载

    前言:iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载是在前篇iOS开发之网络编程--使用NSURLConnection实现大文件下载的基础上进行    断点续传的设置 ...

  3. java下载图片压缩包_java压缩文件和下载图片示例

    本文实例为大家分享了java压缩文件和下载图片示例,供大家参考,具体内容如下 主页面index.xml 项目的主页 主页主页 湖南长沙 发布方式一...... 页面内容压缩演示--gzip 下载图片 ...

  4. sharepoint 中用自带的download.aspx实现文件的下载,中文文件名编码的问题

    //下面代码中的主要是为了将数据绑定到repeater上,同时实现文件的下载,其中dr[3]中的路径绑定的是下载路径,用到了sharepoint中自带的download.aspx下载页面,只要将文件的 ...

  5. 使用NSURLConnection实现大文件断点下载

    使用NSURLConnection实现大文件断点下载 由于是实现大文件的断点下载,不是下载一般图片什么的.在设计这个类的时候本身就不会考虑把下载的文件缓存到内存中,而是直接写到文件系统. 要实现断点下 ...

  6. 关于文件导出(下载)功能不兼容IE浏览器的解决方案

    关于文件导出(下载)功能不兼容IE浏览器的解决方案 参考文章: (1)关于文件导出(下载)功能不兼容IE浏览器的解决方案 (2)https://www.cnblogs.com/padaleidelei ...

  7. php代码生成txt文件并下载

    php代码生成txt文件并下载 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <?php     header("Content ...

  8. 百度云盘上传文件和下载文件慢的解决办法

    百度云盘上传文件和下载文件慢的解决办法 一:上传文件慢 1. 左下角点击搜索,输入cmd,右键以管理员身份运行 2. 在弹出的窗口中输入netsh interface tcp set global a ...

  9. Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)

    这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 先试用Response.WriteFile的方法: FileInfo fi = new FileInfo(excelFile); ...

  10. 【Flutter】Icons 组件 ( FlutterIcon 下载图标 | 自定义 svg 图标生成 ttf 字体文件 | 使用下载的 ttf 图标文件 )

    文章目录 一.FlutterIcon 下载图标 二.自定义 svg 图标生成 ttf 字体文件 三.使用下载的 ttf 图标文件 四.完整代码示例 五.相关资源 一.FlutterIcon 下载图标 ...

最新文章

  1. 重磅!脑机接口突破登Nature封面,脑中“笔迹”转屏幕文字破纪录,准确率超99%...
  2. 浅析网站备案的三大好处——你的网站备案了吗?
  3. Hadoop大数据——mapreduce的排序机制之total排序
  4. linux挂载磁盘分区,Linux 新磁盘分区与挂载
  5. JavaFX UI控件教程(十)之Scroll Bar
  6. flask 知识点总结
  7. java读写文件总结
  8. RuntimeError: all elements of input should be between 0 and 1
  9. 在oracle包体中动态创建表 PKG
  10. 算法设计与分析中用到的渐近记号:Θ、O、Ω、o和ω
  11. 本科课程【虚拟现实引擎Unity3D】实验3 - 烘焙光影贴图与动画应用
  12. PRN(20210421):Task-Free Continual Learning
  13. 乱码问题-Quoted-printable编码
  14. 一种xml解析二次处理的方法(根据剔除规则仅保留部分二级节点)
  15. html使三角形渐变色,CSS3 简单的三角形渐变效果
  16. python爬虫音乐犯法么_Python爬虫案例:爬取网易云音乐
  17. PADS VX2.8 敷铜自动倒角的使用方法
  18. 推荐!国外程序员整理的Java资源大全
  19. Android AudioFocus机制小结
  20. poj 2955 区间dp

热门文章

  1. 中文数字转换为阿拉伯数字
  2. Discuz X2 模块模板代码详解,DIY更容易!
  3. 家庭作业-有关圣马丁节
  4. JMeter配置元件【HTTP请求默认值】
  5. 为什么php都用mysql,PHP MySQL为什么?
  6. 塑料壳上下扣合的卡扣设计_一种塑料件卡扣结构制造技术
  7. dram和nand哪个难生产_空调哪个牌子好 推荐质量最好又省电的品牌
  8. Vue最全知识点,面试必备(基础到进阶,覆盖vue3.0,持续更新整理,欢迎补充讨论)
  9. 给你一份详细的web前端CSS布局指南,请查收
  10. java制作霓虹灯_Java 线程编码之霓虹灯的实现