private void downValid(HttpServletResponse response,NetDiskFile netDiskFile)throws Exception{

try{

if(netDiskFile!=null){

File f = new File(netDiskFile.getAttach());

//文件流的输入

BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));

response.reset();

response.setCharacterEncoding("gb2312");

response.setContentType("application/x-msdownload");

response.setHeader("Content-Disposition",

"attachment; filename="+this.toUtf8String(netDiskFile.getFilename())+"."+netDiskFile.getSuffix());

byte[] buf = new byte[1024];

int len = 0;

//文件流的输出

OutputStream output = response.getOutputStream();

while ((len = br.read(buf)) > 0){

output.write(buf, 0, len);

}

br.close();

output.close();

}else{

PrintWriter out=response.getWriter();

out.println("alert(\"you only can download the file, can't do the folder!\");history.back();");

}

}catch(FileNotFoundException e){

PrintWriter out=response.getWriter();

out.print("alert('Sorry,the file could not be found');history.back();");

}catch(Exception e){

PrintWriter out=response.getWriter();

out.print("alert('while downloading,the error happens.');history.back();");

}

}

java 下载另存为_java中如何实现点击下载出现另存为的对话框相关推荐

  1. java 通过路径下载文件_JAVA中实现根据文件路径下载文件

    import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; ...

  2. java 注解开发_Java中的注解到底是如何工作的?

    作者:人晓 www.importnew.com/10294.html 自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分.开发过程中,我们也时常在应用代码中会看到诸如@Over ...

  3. java jedis使用_Java中使用Jedis操作Redis

    Java中使用Jedis操作Redis 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0 ...

  4. java二进制编辑器_Java Hex Editor免费版-十六进制编辑器下载 v2.0 免费版 - 安下载...

    Java Hex Editor是一款非常实用的十六进制编辑器,它同时也是Java十六进制编辑器,可以以独立应用程序(SWT小部件)运行,同时还可以以Eclipse插件的形式进行功能拓展集成:支持编辑非 ...

  5. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  6. java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信

    你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...

  7. java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园

    1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...

  8. java 序列化实例_Java中的序列化与反序列化实例

    创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...

  9. java 数据类型分为_JAVA中分为基本数据类型及引用数据类型

    byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...

最新文章

  1. Openstack组件部署 — Keystone Install Create service entity and API endpoints
  2. MongoDB中_id(ObjectId)生成
  3. python之异常处理
  4. 函数初识(文字总结)
  5. 第二阶段团队项目冲刺第七天
  6. python小游戏代码_20行python代码的入门级小游戏
  7. CCCC L2 007 家庭房产 并查集
  8. C++ 虚函数表解析 继承
  9. dfs.datanode.max.xcievers参数导致hbase集群报错
  10. bzoj2761 [JLOI2011]不重复数字
  11. 海龟交易法则06_掌握优势
  12. iOS 6的Rotation
  13. javascript - return
  14. Linkage 使用方法总结
  15. 机器学习之 决策树(Decision Tree)
  16. 算法:还有比二分查找更快的算法,判断是否是子字符串Is Subsequence
  17. 如何解决苹果账号续费时支付失败的问题
  18. java-时间间隔类period类和Duration类
  19. Ribbon详解与实例
  20. 有关H5的第三章表单介绍

热门文章

  1. GAMES101 作业0 环境配置 超详细小白教程
  2. 小米5s+刷+android+8.0,小米MIUI10技术难点已突破,小米5S系列升级安卓8.0看来稳了...
  3. Game Hacking Fundamentals 学习笔记1
  4. 倾斜模型精细化处理_无人机倾斜摄影技术的三维精细模型制作
  5. android 逆向ida,浅谈安卓逆向协议(四)- ida pro - 小红书
  6. 【阿里云原生架构】二、云原生架构的原则和模式
  7. Allegro自动备份PCB设计文件的方法
  8. 详细说明VScode设置中文,主题更改,文件图标及字体设置
  9. 计算机休眠移动硬盘不休眠,关闭硬盘盒自动休眠软件
  10. 【爬虫修炼和实战】二、从requests开始——爬取喜马拉雅全站音频数据(基础篇)