精华内容
下载资源
问答
  • 根据URL下载文件/图片

    千次阅读 2018-05-11 11:41:16
    根据URL下载文件、图片的方法 1、应用场景:远程文档服务器返回json结果,内容包括文件名称,文件路径,文件类型等信息,使用流(InputStream),通过文件路径去下载文件、图片。 远程文档服务器返回json结果如下图...

    根据URL下载文件、图片的方法

    1、应用场景:远程文档服务器返回json结果,内容包括文件名称,文件路径,文件类型等信息,使用流(InputStream),通过文件路径去下载文件、图片。

    远程文档服务器返回json结果如下图:

     

    2、应用方法:

            先将返回的结果(代码中的fileData)进行转换为Map,获取其中key为data的数据,如文件名,文件路径信息,然后设置请求头信息,需设置:

     

    ContentType:multipart/form-data
    Content-Disposition:attachment; filename="xxx.xx"

            然后根据文件路径创建URL对象,在根据URL对象打开输入流InputStream,然后在使用OutputStream流输出;

    3、特别注意:

    因为文件名称可能为中文,所以需要进行转码,否则会乱码,这里会将中文替换为下划线_ 如下图所示:

            这里要特别注意,文件名称编码格式不能使用UTF-8/GBK,需使用ISO-8859-1格式:

    new String(fileName.getBytes(),"iso-8859-1");

    下载的方法代码如下:

    /**
         * 通过URL下载文件
         *
         * @param fileData
         * @throws IOException
         */
        public static void downloadWithUrl(String fileData, HttpServletResponse response) throws IOException {
            ObjectMapper om = new ObjectMapper();
            Map<String, Object> map = om.readValue(fileData, Map.class);
            Map<String, Object> data = ((List<Map<String, Object>>) map.get("data")).get(0);
            String fileName = (String) data.get("file_name");
            String path = (String) data.get("file_path");
            //设置响应参数
            response.setCharacterEncoding("UTF-8");
            response.setContentType("multipart/form-data");
    //      response.setHeader("Content-Disposition", " attachment; filename=" + fileName);//使用此会导致中文变“_”下划线
            response.setHeader("Content-Disposition", " attachment; filename=" + new String(fileName.getBytes(), "iso-8859-1"));
    
            InputStream is = null;
            BufferedOutputStream outs = null;
            try {
                //创建数据流,执行下载
                URL url = new URL(path);
                is = url.openStream();
                outs = new BufferedOutputStream(response.getOutputStream());
                byte[] bytes = IOUtils.toByteArray(is);
                outs.write(bytes);
            } finally {
                if (null != outs)
                    outs.close();
                if (null != is)
                    is.close();
            }
        }

     

     

     

     

     

    展开全文
  • 1:通过url请求下载文件 2:从服务器的路径拿到文件 1:通过url请求下载文件 /** * URL * 类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。 * 抓取文件:以下载一张图片为例 * 1、创建URL对象 ...

    目录

     

    1:通过url请求下载文件

    2:从服务器的路径拿到文件


    1:通过url请求下载文件

    /**
     * URL
     * 类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。
     * 抓取文件:以下载一张图片为例
     * 1、创建URL对象  指定文件的URL地址(图片的URL地址)
     * 2、获取远程连接的对象
     * 3、设置获取方式,一般用到GET、POST方式
     * 4、获取HTTP响应的状态码  200表示请求成功
     * 5、字节输入流  读取文件
     * 6、字节输出流  把读取的文件存入本地
     * @author hw
     *
     */
    --------------------- 
    
    public class TestDowload {
        public static void main(String[] args) {
            BufferedInputStream bufferedInputStream = null;
            BufferedOutputStream bufferedOutputStream = null;
    
    
            try {
                URL url = new URL("https://e-cloudstore.com/files/ecology_dev.zip");
                HttpURLConnection conn=(HttpURLConnection)url.openConnection();
                conn.setRequestMethod("GET");
                //设置URL请求方式  GET方式
                conn.setRequestMethod("GET");
                //从HTTP响应消息获取状态码
                int code=conn.getResponseCode();
                   //如果状态码为200表示请求成功
                if(code ==200){
                    bufferedInputStream = new BufferedInputStream(conn.getInputStream());
                    bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("D://ecology_dev.zip"));
    
    
                    byte[] by=new byte[1024];
                    int len=0;
                    while((len=bufferedInputStream.read(by))!=-1) {
                        bufferedOutputStream.write(by, 0, len);
                        //刷新
                        bufferedOutputStream.flush();
                    }
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    bufferedInputStream.close();
                    bufferedOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
        }
    }
    

    2:从服务器的路径拿到文件

    public class TestDowload {
        public static void main(String[] args) {
            FileInputStream fileInputStream = null;
            BufferedInputStream bufferedInputStream = null;
            FileOutputStream fileOutputStream = null;
            BufferedOutputStream bufferedOutputStream = null;
    
    
            try {
                fileInputStream = new FileInputStream(new File("d://xxx.txt"));
                bufferedInputStream = new BufferedInputStream(fileInputStream);
    
                fileOutputStream = new FileOutputStream(new File("D:/开发文档/txt"));
                bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
    
                int tag;
                while ((tag = (bufferedInputStream.read())) != -1) {
                    bufferedOutputStream.write(tag);
                }
                bufferedOutputStream.flush();
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (fileInputStream!=null){
                    try {
                        fileInputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (fileOutputStream!=null){
                    try {
                        fileOutputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (bufferedInputStream!=null){
                    try {
                        bufferedInputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (bufferedOutputStream!=null){
                    try {
                        bufferedOutputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    
        }
    }
    

     

     

     

     

    展开全文
  • 1)根据url下载文件 2)情况:由于在线浏览某个文件过大(日志文件),导致浏览器直接加载奔溃,因此想通过程序,将文件下载下来查看 3)代码: import java.io.BufferedInputStream; import java.io....

    1)根据url下载文件

    2)情况:由于在线浏览某个文件过大(日志文件),导致浏览器直接加载奔溃,因此想通过程序,将文件下载下来查看

    3)代码:

    
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class DownloadTest {
    
    	
    
    	/**
    	 * 
    	 * @Title: getImg 
    	 * @Description: 通过一个url 去获取图片
    	 * @param @param url 图片的连接地址
    	 * @param @throws IOException    
    	 * @throws
    	 */
    	public static void getImg(String url) throws IOException{
    		long startTime = System.currentTimeMillis();
    		URL imgURL = new URL(url.trim());//转换URL
    		HttpURLConnection urlConn = (HttpURLConnection) imgURL.openConnection();//构造连接
    		urlConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36");
    		urlConn.connect();
    		System.out.println(DownloadTest.class.toString()+":获取连接="+urlConn.getResponseMessage());
    		if(urlConn.getResponseCode()==200){//返回的状态码是200 表示成功
    			InputStream ins = urlConn.getInputStream(); //获取输入流,从网站读取数据到 内存中
    			OutputStream out = new BufferedOutputStream(new FileOutputStream(new File("tomcat6-stdout.2020-06-13.log")));
    			int len=0;
    			byte[] buff = new byte[1024*10];//10k缓冲流 视你内存大小而定咯
    			
    			while(-1!=(len=(new BufferedInputStream(ins)).read(buff))){//长度保存到len,内容放入到 buff
    				out.write(buff, 0, len);//将图片数组内容写入到图片文件
    			}
    			urlConn.disconnect();
    			ins.close();
    			out.close();
    			System.out.println(DownloadTest.class.toString()+":获取图片完成,耗时="+((System.currentTimeMillis()-startTime)/1000)+"s");
    		}
    	}
    	/**
    	 * @throws IOException  
    	 * @Title: main 
    	 * @Description: 测试方法
    	 * @throws 
    	 */
    	public static void main(String[] args) throws IOException {
    		DownloadTest.getImg("http://192.168.84.10/99170/80/tomcat6-stdout.2020-06-13.log");//
    	}
    	
    	
    }
    

     

     

    展开全文
  • Linux wget 从指定的URL下载文件

    万次阅读 2018-04-22 18:52:47
    wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会...

    wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

    语法:

    wget(选项)(参数) ------->例:wget url

    选项:

    -a<日志文件>:在指定的日志文件中记录资料的执行过程;
    -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
    -b:进行后台的方式运行wget;
    -B<连接地址>:设置参考的连接地址的基地地址;
    -c:继续执行上次终端的任务;
    -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
    -d:调试模式运行指令;
    -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
    -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
    -h:显示指令帮助信息;
    -i<文件>:从指定文件获取要下载的URL地址;
    -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
    -L:仅顺着关联的连接;
    -r:递归下载方式;
    -nc:文件存在时,下载文件不覆盖原有文件;
    -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
    -q:不显示指令执行过程;
    -nh:不查询主机名称;
    -v:显示详细执行过程;
    -V:显示版本信息;
    --passive-ftp:使用被动模式PASV连接FTP服务器;
    --follow-ftp:从HTML文件中下载FTP连接文件。
    展开全文
  • 通过URL下载文件

    万次阅读 2017-09-05 16:17:47
    //fileRoute:文件URL路径 //通过URL的openStrean方法获取URL对象所表示的自愿字节输入流 InputStream is = url.openStream(); // 设置response参数,可以打开下载页面 response.reset(); String mimeType = ...
  • win10如何使用命令行通过URL下载文件? 1.启动powershell 启动powershell有多种方法,介绍两种: 方法一  快捷键win+R,输入powershell,启动powershell   方法二 进入cmd命令行,输入powershell,启动...
  • JAVA–根据Url下载文件数据(输出Base64) public static String downloadImg(String url){ try{ System.out.print(“开始下载”+url+“资源\n”); URL uploadUrl = new URL(url); HttpURLConnection httpUrl = ...
  • Java从指定URL下载文件并保存到指定目录代码实现测试代码 做爬虫功能时候,经常需要通过url将文件保存到本地。网上看到不少例子,代码都比较繁杂,需要自己读取文件流并输出流到文件。在这里,我们通过API来实现这个...
  • Android URL 下载文件

    千次阅读 2018-10-12 17:37:44
    首先需要一个线程。 new Thread(new Runnable() { @Override public void run() { try { URL url = new URL(entity.getUrl()); //打开连接 ...
  • import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java...
  • 通过url下载文件

    千次阅读 2018-10-11 10:04:23
    例如url: ... * 下载模板 * @param url * @param savePath * @return */ @RequestMapping("/downTemplate") @ResponseBody public String down...
  • Blob Url下载文件

    千次阅读 2019-12-19 15:18:27
    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <...点击下载</a> <script> le...
  • js通过文件的url下载文件到本地

    万次阅读 2019-03-25 15:31:57
    同源单文件 ... 标签的 download 属性下载文件 const elt = document.createElement('a'); elt.setAttribute('href', url); elt.setAttribute('download', 'file.png'); elt.style.display = 'none'; ...
  • java通过URL下载文件

    万次阅读 2019-06-20 11:27:59
    import java.io.File; import java.net.URL; import org.apache.commons.io.FileUtils; public class DownloadURLFile { /** * @param args */ public static void main(St...
  • 一般使用windows.open() 也可以实现但是 体验差,windows.open()会打开新的窗口... // 文件下载 downFile () { let a = document.createElement('a') a.href = `使用后端的请求url` // 这里的请求方式为get,如果需
  • JAVA根据HTTPS URL下载文件

    万次阅读 2017-12-29 15:02:30
    /** * TODO 下载文件到本地 * * @param fileUrl 远程地址 * @param fileLocal 本地路径 * @throws Exception */ public static void downloadFile(String fileUrl, String fileLocal ,
  • URL下载文件服务器文件

    千次阅读 2016-08-19 17:30:18
    前台页面请求: window.location.href = "/download/download?fileUrl=" + data.contractUrl + "&originName=" + data....后台下载处理: import com.alibaba.dubbo.common.utils.StringUtils; import org.slf
  • 后台根据url下载文件

    千次阅读 2018-08-09 11:38:39
    //前端代码: &lt;a href="&lt;%=basePath %&...//后台根据前台提交的url地址进行文件下载 后端代码: @RequestMapping("/download")  public void downLoad(HttpServletRequ..
  • package ... import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import jav...
  • js通过URL下载文件

    千次阅读 2018-09-17 13:39:09
    var url // 会打开一个空白页下载,然后空白页消失,用户体验不好 function download1() { window.open(url); } // 直接下载,用户体验好 function download2() { var $form = $('&lt;form metho...
  • HttpClient实现通过url下载文件

    千次阅读 2019-07-14 22:40:00
    其实就是通过浏览器url,点击就会下载文件。 这里是从代码层面上,对文件进行下载。 package main.java.com.abp.util; import org.apache.http.*; import org.apache.http.client.HttpClient; import org....
  • C#根据url下载文件

    2020-06-03 15:38:34
  • 防止通过URL下载文件

    2014-07-09 18:00:00
    网页中向用户提供了ppt文件下载功能,前提是只有登录的用户才能下载,所以需要禁止通过URL文件进行下载。 自己定义一个文件下载类。 using System; using System.Data; using System.Configuration; ...
  • Jfinal根据url下载文件

    千次阅读 2018-01-06 09:19:14
    String path = (PathKit.getWebRootPath()+"/exclemodel/").replace("\\", "/"); URL httpurl = new URL("***"); String fileName = "*.xlsx"; File f = new File(path
  • jq及html通过url下载文件

    万次阅读 2017-12-12 20:22:32
    a href="url 302到下载地址" download>下载</a> 例如: var link = document.createElement('a'); link.setAttribute("download", ""); link.href = data.fileUrl; link.click(); 二、通过form表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,979
精华内容 8,791
关键字:

url下载文件