String fileUrl = request.getRequestURL().substring(0,
request.getRequestURL().indexOf("/rest"))
+ "/test/resources/images/template.jpg";
URL url = new URL(fileUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
response.reset();
response.setContentType("application/x-msdownload");
response.addHeader("Content-Disposition", "attachment; filename="
+ new String("template.jpg".getBytes("gbk"), "iso-8859-1"));
OutputStream os = response.getOutputStream();
InputStream in = conn.getInputStream();
byte[] b = new byte[1024];
int r = 0;
while ((r = in.read(b)) != -1) {
os.write(b, 0, r);
}
os.flush();
os.close();
in.close();
conn.disconnect();

HttpURLConnection 下载文件的更多相关文章

  1. 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法

    使用HttpURLConnection下载文件时经常会出现 java.io.FileNotFoundException文件找不到异常,下面介绍下解决办法 首先设置tomcat对get数据的编码:con ...

  2. android 使用AsyncHttpClient框架上传文件以及使用HttpURLConnection下载文件

    AsyncHttpClient开源框架android-async-http还是非常方便的. AsyncHttpClient该类通经常使用在android应用程序中创建异步GET, POST, PUT和 ...

  3. 通过HttpUrlConnection下载文件并显示进度条

    实现效果: 核心下载块: int count = 0; URL url = new URL("http://hezuo.downxunlei.com/xunlei_hezuo/thunder ...

  4. HttpURLConnection下载文件流

    package com.loan.modules; import sun.net.www.protocol.file.Handler; import java.io.*; import java.ne ...

  5. 【JAVA】通过HttpURLConnection 上传和下载文件(二)

    HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传的数据格式,上传给服务器 上传代码如下: package com.util; import java.i ...

  6. java 多线程下载文件 以及URLConnection和HttpURLConnection的区别

    使用 HttpURLConnection 实现多线程下载文件 注意GET大写//http public class MultiThreadDownload { public static void m ...

  7. 通过HttpURLConnection 上传和下载文件(二)

    HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传的数据格式,上传给服务器 上传代码如下: package com.util; import java.i ...

  8. Android从网络某个地址下载文件、写入SD卡

    首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //url ...

  9. android 下载文件

    import com.example.android.R; import android.app.Activity;import android.os.Bundle;import android.os ...

随机推荐

  1. 【转载】基于ANSYS APDL的有裂纹平板问题的断裂力学仿真(PLANE183)

    原文地址:http://blog.sina.com.cn/s/blog_9e19c10b0102vnw7.html 对于一般的强度问题,我们总是用应力来度量其强度的.但是对于有裂纹的,高强度的构件,使 ...

  2. Qt 自定义 滚动条 样式

    今天是时候把软件中的进度条给美化美化了,最初的想法就是仿照QQ. 先前的进度条是这样,默认的总是很难受欢迎的:美化之后的是这样,怎么样?稍微好看一点点了吧,最后告诉你实现这个简单的效果在Qt只需要加几 ...

  3. Jetty与Tomcat的区别 转

    Jetty与Tomcat的区别 由于没有研究过Tomcat,所以区别不好说,这里暂时就网上的一些言论和自己所了解到的一些总结下(摘自于许令波). Jetty 的架构从前面的分析可知,它的所有组件都是基 ...

  4. 【mysql】压缩myisam数据表

    myisam引擎介绍 存储结构: MyISAM每张表被存放在三个文件: frm:表格定义: MYD(MYData):数据文件: MYI(MYIndex):索引文件:   存储空间: MyISAM可被压 ...

  5. JSP+servlet简单登录实例

    一个简单的jsp+servlet实例,实现简单的登录 转载▼ http://blog.sina.com.cn/s/blog_5c5bc9070100z7wb.html     开发环境myeclips ...

  6. windows server 2008服务器 做raid0

    dell服务器,启动后,根据提示按F10进入raid设置,设置成raid0 我们的服务器是4块硬盘,每块600G,做raid0时,生成一个虚拟磁盘vdisk. 做完raid之后,做OS部署 重启服务器 ...

  7. pH 值与曝气对硝化细菌硝化作用的影响

    http://wenku.baidu.com/view/c2723434eefdc8d376ee325d.html 摘要: 目的 探讨硝化细菌最佳工作条件,为应用和生产提供依据. 方法 通过人工调节液 ...

  8. Good Bye 2013 A

    A. New Year Candles time limit per test 1 second memory limit per test 256 megabytes input standard ...

  9. Linux刷新DNS缓存

    网上查了下,发现linux刷新dns的缓存方法都是: sudo /etc/init.d/nscd restart 但是在我的机器上,发现提示命令找不到: sudo /etc/init.d/nscd: ...

  10. c# webform网站图片另存代码

    好辛苦生成了二维码,然后要实现点击“保存图片”,弹出选择路径进行保存的效果. look: string qrcodeurl = ""; string username = &quo ...