有时候需要提供一些文件供用户下载,本文就写了一个支持文件下载的方法,供参考:

例子需要下载的是Excel表格,具体实现:、

封装一个下载方法,方便使用:

/*** 下载文件* 创建人:A-bing* 创建时间:2018年2月2日*/
public class FileDownload {/*** @param response * @param filePath     //文件完整路径(包括文件名和扩展名)* @param fileName       //下载后看到的文件名* @return  文件名*/public static void fileDownload(final HttpServletResponse response, String filePath, String fileName) throws Exception{  byte[] data = FileUtil.toByteArray2(filePath);  fileName = URLEncoder.encode(fileName, "UTF-8");  response.reset();  response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");  response.addHeader("Content-Length", "" + data.length);  response.setContentType("application/octet-stream;charset=UTF-8");  OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());  outputStream.write(data);  outputStream.flush();  outputStream.close();response.flushBuffer();}
}

实现方法:

备注:demo里面的文件是放在服务器上的,本地通过页面调用下载方法的时候,下载的文件在浏览器默认的下载路径里面,自己找一找。

/** 调账Excel模版下载*/@RequestMapping("")public void xiazaiexcel(HttpServletResponse response) throws Exception{String filePath = "E://utilPicture//file//tiaozhangExcel.xls";String fileName = "tiaozhang.xls";FileDownload.fileDownload(response, filePath, fileName);}

完了#24

PS:补上

封装的toByteArray2方法:
/*** 读取到字节数组2* * @param filePath* @return* @throws IOException*/public static byte[] toByteArray2(String filePath) throws IOException {File f = new File(filePath);if (!f.exists()) {throw new FileNotFoundException(filePath);}FileChannel channel = null;FileInputStream fs = null;try {fs = new FileInputStream(f);channel = fs.getChannel();ByteBuffer byteBuffer = ByteBuffer.allocate((int) channel.size());while ((channel.read(byteBuffer)) > 0) {// do nothing// System.out.println("reading");}return byteBuffer.array();} catch (IOException e) {e.printStackTrace();throw e;} finally {try {channel.close();} catch (IOException e) {e.printStackTrace();}try {fs.close();} catch (IOException e) {e.printStackTrace();}}}

从服务器上下载文件的方法相关推荐

  1. mac电脑如何从远程连接的服务器上下载文件

    背景: 疫情期间,在家里写毕业论文,挂着学校的vpn连学校的服务器. 由于最近个人电脑换成mac了,需要从远程服务器上下载文件到自己电脑上. 没用samba,因为我不是服务器管理员,所以一时没办法在服 ...

  2. 在Github上下载文件的方法

    在GitHub上下载文件有几种方法: 下载整个仓库:在仓库主页上,点击绿色的"Code"按钮,然后选择"Download ZIP".这将下载整个仓库的ZIP压缩 ...

  3. 从Github上下载文件的方法汇总

    前言 对于程序猿来说,Github简直就是个宝藏,里面有世界各地大神的代码,可以放心安全高效的食用,本文整理了Github文件的一些下载方法,仅供参考. 1. 通过git命令行 特点: 通过git指令 ...

  4. asp.net 从服务器上下载文件

    protected void lbtnDown_Click(object sender, EventArgs e)         {             // 定义文件路径           ...

  5. 客户端,从服务器上下载文件流程

  6. python3 ftp下载文件,python实现从ftp上下载文件的实例方法

    python从ftp上下载文件的方法: 首先导入ftp模块: 然后使用[chdir]命令切换工作路径: 再使用"self.ftp.nlst()"命令获取目录下的文件: 最后使用&q ...

  7. 从github上下载文件,文件夹,整个项目

    一.下载文件 1.点进文件,如下图,然后右键红框 2.选择'将链接另存为',会出现以下界面 3.然后下载就可以.如果你成功了,恭喜你!但是我失败了... 不晓得是我电脑的原因还是别的什么,尝试好多次都 ...

  8. 用手机访问计算机FTP服务器并下载文件

    测试网络 首先我们需要将电脑和手机连接在同一个WIFI下,然后用计算机尝试ping手机的IP地址: ping通了,说明在同一个网络下. 手机下载并设置AndFTP 在手机上的应用市场里搜索AndFTP ...

  9. linux上下载文件夹命令,linux命令(上传下载文件)

    1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101 ...

最新文章

  1. Redis缓存使用技巧和设计方案
  2. 【Linux 内核】调度器 ① ( 调度器概念 | 调度器目的 | 调度器主要工作 | 调度器位置 | 进程优先级 | 抢占式调度器 | Linux 进程状态 | Linux 内核进程状态 )
  3. 003_ZooKeeper服务端集群搭建
  4. VC 内联汇编中的一个注意事项
  5. 全球最大的LoRaWAN智能路灯项目刚刚启动
  6. 【dfs】Election of Evil
  7. sublime Text3安装及配置与解决安装插件失败
  8. rabbitMQ 常用api翻译
  9. 设计一个Enum Class
  10. SpringBoot在前端发送url时,不能识别特殊字符的问题
  11. 高质量图片缩略图生成(编程笔记)
  12. [OpenDrive] OpenDrive学习笔记
  13. DataMatrix 码提取流程
  14. iai控制器服务器ON信号,IAI控制器型号说明.pdf
  15. 虚拟机安装与双系统(win10+ubuntu)安装及其他
  16. linux查看是否安装了dns,Linux系统怎么查看和修改DNS配置
  17. web python 取代js_web前端:JavaScript,只有你想不到
  18. 服务器不能全屏显示,远程服务器如何全屏显示
  19. sdust-Java-字符串集合求并集
  20. 软件开发团队成员分工_分析软件开发人员的能力–选择合适的团队成员

热门文章

  1. 《modern operating system》 chapter 3 MEMORY MANAGEMENT 笔记
  2. Python入门:Python基础
  3. idea中的项目名不见了,只剩下文件及模块如何处理
  4. 《示波器仪器》的使用
  5. 索尼录音笔怎么导出录音内容_录音笔行业迎全新声态,搜狗AI录音笔带来哪些升级?...
  6. 2FSK从相关系数角度分析调制指数
  7. 抄袭,腾讯 和 产品
  8. Java输入一个整数年份,要求判断是否是闰年。判断条件:能被四整除但是不能被100整除,能被四百整除。
  9. 深度学习MEMC插帧论文列表paper list
  10. 什么是code-Behind技术?