- 浏览: 199813 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
项目需求:在列表页面上提供文件下载链接
项目实现:
1.准备excel文件,将英文命名的excel文件放入 src/main/resources 目录下
2.Java实现
3.注意
文件的存放路径
在本地测试及测试环境提测
因为文件放在 src/main/resources 所以此种方式能够获取到文件
但发布到正式环境时,运维说文件不能放在此目录下,src 下只能防止工程的配置文件
所以只能放置在某个其他目录下,对应的下载地址则变为linux 服务上的路径地址
文件的获取方式也不能使用 getResource
项目实现:
1.准备excel文件,将英文命名的excel文件放入 src/main/resources 目录下
2.Java实现
public void downModel(){ logger.info("loanUserOpenAccountBatchModel start"); JSONObject jsonObject = new JSONObject(); jsonObject.put("function", "downModel"); writeJSONObject(jsonObject); } public HttpServletResponse downLoanUserOpenAccountModel(){ HttpServletResponse response = ServletActionContext.getResponse(); String path = ""; try { // /excelModel/loan_user_open_account_batch.xlsx 本地测试地址 File textf = new File("/data/j2ee/jr/excelModel", "loan_user_open_account_batch.xlsx"); // path = ServletActionContext.getServletContext().getResource("/data/j2ee/jr/excelModel").getPath(); path = textf.getPath(); logger.info("downLoanUserOpenAccountModel path:"+path); } catch (Exception e) { logger.error("downLoanUserOpenAccountModel error"+e.getMessage(),e); } logger.info("Excel 模板下载 ,path:"+path); try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename = file.getName(); // 取得文件的后缀名。 String ext = filename.substring(filename.lastIndexOf(".") + 1); // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header //设置文件ContentType类型,这样设置,会自动判断下载文件类型 response.setContentType("multipart/form-data"); response.addHeader("Content-Disposition", "attachment;filename=" + new String("借款人批量开户模板".getBytes("gb2312"), "ISO8859-1" )+"."+ext.toLowerCase()); response.addHeader("Content-Length", "" + file.length()); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); toClient.write(buffer); toClient.flush(); toClient.close(); logger.info("EXCEL 模板下载 成功"); } catch (IOException ex) { ex.printStackTrace(); logger.error("EXCEL 模板下载 异常"); return null ; } return response; }
3.注意
文件的存放路径
在本地测试及测试环境提测
try { path = ServletActionContext.getServletContext().getResource("/excelModel/loan_user_open_account_batch.xlsx").getPath(); } catch (MalformedURLException e) { e.printStackTrace(); }
因为文件放在 src/main/resources 所以此种方式能够获取到文件
但发布到正式环境时,运维说文件不能放在此目录下,src 下只能防止工程的配置文件
所以只能放置在某个其他目录下,对应的下载地址则变为linux 服务上的路径地址
文件的获取方式也不能使用 getResource
发表评论
-
使用软引用构建敏感数据的缓存
2017-11-16 22:19 806使用软引用构建敏感数 ... -
JSP自定义标签
2017-11-14 20:35 308JSP页面中分页功能实现使用了 <urlChange ... -
手机号码替换中间四位
2017-10-24 21:41 891需求描述: 为用户隐私考虑,展示用户信息时需要将中间用*代替 ... -
遍历集合删除元素
2017-10-24 18:44 611一、根据下标删除元素 1.测试代码 ArrayLis ... -
统计每天的数据
2017-10-10 21:23 498需求:按天统计数据 分析:create_time 为 dat ... -
基于AbstractDataSource实现主从数据库切换
2017-10-07 18:03 981基于AbstractDataSource实现主从数据库切换 ... -
扫码登录功能实现
2015-08-21 08:19 486需求:PC端(电脑端) ... -
基于SHIRO实现用户登陆后跳转其匿名访问的URL路径
2015-07-15 15:03 3579需求描述: 用户在未登录时访问网站中某个需要登录后才能访问 ... -
基于SHIRO的管理后台权限认证系统实现(一)
2015-07-09 10:05 6943基于SHIRO的管理后台权限认证系统实现(一) 一、项目需求 ... -
基于SHIRO的管理后台权限认证系统实现(二)
2015-06-28 10:14 780用户登陆系统后左侧菜单加载 项目:管理员系统 功能:用户登 ... -
Velocity中set的使用
2015-05-26 10:46 494问题:从页面接收某字段的提交数据,数据要求是组合后的编号 ... -
Velocity页面中输出时间年月
2015-05-19 20:52 941问题:注册页面要求有创建时间的选项添加,年为至今为止 实现: ... -
Set判重操作实现
2015-05-15 15:28 759需求:Set<Po>判重操作实现 问题:Set& ... -
如何去除List集合中的重复数据
2015-05-15 13:12 872需求:用户权限查看, ... -
Date相关功能实现
2015-05-12 19:47 586一、同一天 需求:用户记录跟踪列表展示,要求用户数据同一天内 ... -
velocity截取过长的字段值
2015-05-11 20:06 334问题:页面列表展示时,某个字段的值超长,影响页面的整体样式 ... -
将list中某个元素放在首位
2015-05-10 17:25 4500需求:程序开发过程中,业务方要求在展示国家列表时要将US放在首 ... -
Velocity遍历map与遍历list
2015-04-22 20:16 6894问题: 向页面传递key与value的组合 1. 1.1 ...
相关推荐
实现服务器文件下载,使你一看就明白,更快学会这门技术
客户化开发实例之FTP服务器文件下载开发实例
此程序可以将一般服务器的文件下载到您电脑某个文件夹里(自己选),在下载的文件大小有点大的时候,会出现未响应的情况,此乃正常现象(如果系统提示程序错误,可能是文件过大或文件处于保护状态、程序出错)。
JAVA通过SMB的方式下载、上传远程Linux服务器的文件
将服务器文件下载到本地工具
1.libevent库编译工具为vs2019 2.环境为qt5.15.2 3.设置本地的目录,开启线程即可实现http服务器文件下载。
android从java web客户端下载apk,MP3等文件,并显示下载进度条,下载后点击安装。
下载服务器文件到本地,并删除已下载的服务器文件
代码中有向服务器上传文件,和从服务器上下载文件的源代码。已测试过,可以直接运行的!
java上传文件到linux服务器,操作linux服务器上文件,下载linux服务器文件,删除linux服务器文件。ganymed-ssh2远程操作服务器文件
SpringMVC的页面跳转,参数传递,XML文件读取,定时服务器文件下载的Sample
通过java编程,实现使用IO流下载服务器文件,为HTTP层文件传输
一键服务器边工作站,去掉不喜欢的东西。很方便,很快捷。
网页文件
用于文件上传下载,适合学校教师收发作业,收发试卷,使用简单快捷
从服务器上下载文件、webreuqest类,当然方法很多了,读取页面上的数据流后还可以正则表达式,抓取到自己想要的部分
服务器下载文件方式,支持文件流方式下载,WriteFile分片方式下载
Qt使用QtWebApp搭建Http服务器实现文件下载
大势至FTP文件服务器日志记录软件是一款专门记录FTP服务器文件访问日志的软件,只需要在FTP服务器上部署即可,局域网其他电脑不需要部署,就可以全面记录FTP服务器文件上传、记录FTP文件服务器文件下载、修改FTP...
基于socket实现,服务器文件下载,只有服务端代码,又线程池实现并发