HttpURLConnection 下载文件

            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();
时间: 2024-10-31 05:58:50

HttpURLConnection 下载文件的相关文章

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

AsyncHttpClient开源框架android-async-http还是非常方便的. AsyncHttpClient该类通经常使用在android应用程序中创建异步GET, POST, PUT和DELETE HTTP请求.请求參数通过RequestParams实例创建.响应通过重写匿名内部类 ResponseHandlerInterface的 方法处理. 1.看代码上传文件 public void uploadFile(ArrayList<String> sendFilesPath) {

HttpURLConnection下载文件

public static void downCRL(String crlurl, String filepath) { logger.info("开始下载更新CRL"); // 创建URL 对象 URL url = null; byte[] b = null; FileOutputStream fos = null; InputStream is = null; HttpURLConnection httpUrlConnection = null; try { url = new U

HttpURLConnection下载文件流

package com.loan.modules; import sun.net.www.protocol.file.Handler; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class test333 { public static void main(String[] args) throws IOException { URL httpurl=new URL("http

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

HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传的数据格式,上传给服务器 上传代码如下: 1 package com.util; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedReader; 5 import java.io.DataOutputStream; 6 import java.io.File; 7 import java.io.FileInputStre

httpurlconnection下载pdf文件打不开的原因,和解决代码

前几天遇见一个问题,httpurlconnection发送请求下载pdf文件的时候,文件是下载下来了,但是打不开. 之前并没有对pdf操作的相关功能,所以一直是使用的字符流读取内容. 字符流主要针对一些文本文档(比字节流操作的效率要高),比如.txt..doc,而pdf就不行. 字节流几乎可以对任何文件类型进行操作,主要是对非文件类型的,如媒体文件(音频,视频,图片-). //之前使用reader读取返回内容BufferedReader reader = new BufferedReader(n

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

首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //urlStr为文件的网络地址,如http://192.168.1.105:8080/mp3/resources.xml StringBuffer sb = new StringBuffer(); String line = null; BufferedReader buffer = null; try {

多线程实现下载文件

一:需求分析 1:下载远程资源文件,通过多线程下载,达到高效的目的. 2:使用5个线程分别下载文件的不同部分. 二:定义成员变量以及初始化变量 1 // 定义成员变量 2 private String path; // 远程资源路径 3 private String targetPath; // 本地存储路径 4 private DownFileThread[] threads; // 线程list 5 private int threadNum; // 线程数量 6 private long

多线程下载文件,以及断点下载

一:前言 多线程下载文件,可能有的同学没有过多的听说过,但是断点下载肯定是听过的,也就是说像讯雷,哪怕你把电脑重启了,讯雷重新启动后也会接着原来的地方下载,那么这是怎么做到的呢? 二:代码示例 直接给出代码, 2.1.经典代码 两行经典的代码分别为: //设置下载的开始及结束位置 conn.setRequestProperty("Range", "bytes="+start+"-"+end+""); //设置读写的起点位置 R

多线程下载文件的实现

package cn.itcast.download; import java.io.IOException; import java.io.InputStream; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.URL; public class testDownlaod { public static final String path="http://192.168.1