首页 > 其他分享 >从网络上下载文件到本地

从网络上下载文件到本地

时间:2024-02-01 14:12:57浏览次数:26  
标签:java 网络 springframework inputStream 本地 org import response 下载

 1 package com.example.demo.controller;
 2 
 3 import lombok.extern.slf4j.Slf4j;
 4 import org.springframework.http.MediaType;
 5 import org.springframework.stereotype.Controller;
 6 import org.springframework.util.FileCopyUtils;
 7 import org.springframework.web.bind.annotation.GetMapping;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.ResponseBody;
10 
11 import javax.annotation.Resource;
12 import javax.servlet.http.HttpServletResponse;
13 import java.io.IOException;
14 import java.io.InputStream;
15 import java.net.MalformedURLException;
16 import java.net.URL;
17 import java.net.URLEncoder;
18 
19 @Controller
20 @Slf4j
21 @RequestMapping("/test15")
22 public class Test15Controller {
23 
24     @Resource
25     private HttpServletResponse response;
26 
27     @GetMapping("/fileDownLoad")
28     @ResponseBody
29     public void fileDownload() {
30         InputStream inputStream = null;
31         URL url = null;
32         try {
33             url = new URL("https://n.sinaimg.cn/ent/4_img/upload/1f0ce517/160/w1024h1536/20210413/0dad-knqqqmv1022299.jpg");
34             inputStream = url.openStream();
35             response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
36             response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("李勇亮.jpg", "UTF-8"));
37             // 使用工具类直接将文件的字节复制到响应输出流中
38             FileCopyUtils.copy(inputStream, response.getOutputStream());
39         } catch (MalformedURLException e) {
40             log.error("获取远程数据失败:", e);
41             e.printStackTrace();
42         } catch (IOException e) {
43             log.error("读取远程数据失败:", e);
44             e.printStackTrace();
45         }finally {
46             if (inputStream != null) {
47                 try {
48                     inputStream.close();
49                 } catch (IOException e) {
50                     log.error("关闭流失败:", e);
51                     e.printStackTrace();
52                 }
53             }
54         }
55     }
56 }

 

标签:java,网络,springframework,inputStream,本地,org,import,response,下载
From: https://www.cnblogs.com/liyongliangs/p/18001104

相关文章

  • calico网络 ipip改为BGP模式
    calico网络 包含 overlay 和underlay网络overlay  IPIP和VXLAN模式, IPIP可以使用BGP协议,VXLAN不能使用BGP协议, 可以跨网段,建立隧道underlay BGP模式, 必须同一个C网1、修改ippool,需要把ipipMode从Always修改成为Never(执行下面命令修改ipipMode)。[root@k8s-maste......
  • R语言社区检测算法可视化网络图:ggplot2绘制igraph对象分析物种相对丰度
    原文链接:http://tecdat.cn/?p=23836原文出处:拓端数据部落公众号我们使用R中的igraph包,产生了网络的图形。但是很难将这些图表放到演讲和文章中,因为图表很难根据需要定制。使用igraph中的绘图功能可以得到你想要的结果,但用ggplot对工作更有帮助。所以本文探索了一种在ggplot中创......
  • 下载网页视频并自动合成视频m38u ts
    下载网页视频并自动合成视频(本人博客已迁移至 https://nasdaqgodzilla.github.io/)1.首先使用Chrome打开网页,单击F12打开开发者工具开始视频播放,在F12出来的界面中单击Network在Network中有文件列表,检查当中是否存在m3u8结尾的文件2.如果有m3u8结尾的文件,把它的源......
  • 【GEE】基于GEE可视化和下载Sentinel2 L2A数据(去云、镶嵌、裁剪、筛选波段)
    ​    今天连续发了4篇关于Landsat8数据的下载代码,本来都不想再发GEE这个专栏的文章了,但是又想了想都快过年了,赶紧把手里的代码余货都分享出去吧,省的心里有压力。本篇文章主要分享了GEE可视化和下载Sentinel2L2A数据。    代码主要包含了时间、云量筛选数据......
  • 【GEE】基于GEE可视化和下载Landsat8 L2A数据(镶嵌、裁剪)
    ​        之前发过一篇使用GEE下载Landsat8的文章,然后有很多小伙伴私信我各种问题,如L1C、L2数据代码怎么修改,如何镶嵌,如何去云、如何裁剪等一系列问题。正好快过年了,手头的事也没有多少了,所以这两天整理了一下GEE的相关代码,后续会陆续发出来。代码比较简单就是查询函......
  • 【GEE】基于GEE可视化和下载Landsat8 L1C数据(镶嵌、裁剪)
    ​        之前发过一篇使用GEE下载Landsat8的文章,然后有很多小伙伴私信我各种问题,如L1C、L2数据代码怎么修改,如何镶嵌,如何去云、如何裁剪等一系列问题。正好快过年了,手头的事也没有多少了,所以这两天整理了一下GEE的相关代码,后续会陆续发出来。代码比较简单就是查询函......
  • 【GEE】基于GEE批量下载Landsat8 L1C数据(整幅)
    ​     之前发过一篇使用GEE下载Landsat8的文章,然后有很多小伙伴私信我各种问题,如L1C、L2数据代码怎么修改,如何镶嵌,如何去云、如何裁剪等一系列问题。正好快过年了,手头的事也没有多少了,所以这两天整理了一下GEE的相关代码,后续会陆续发出来。    今天给大家......
  • 【GEE】基于GEE批量下载Landsat8 L2A数据(整幅)
    ​    之前发过一篇使用GEE下载Landsat8的文章,然后有很多小伙伴私信我各种问题,如L1C、L2数据代码怎么修改,如何镶嵌,如何去云、如何裁剪等一系列问题。正好快过年了,手头的事也没有多少了,所以这两天整理了一下GEE的相关代码,后续会陆续发出来。代码比较简单就是查询函数和......
  • 界面组件DevExpress中文教程 - 如何使用UI本地化客户端工具本地化应用
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。获取DevExpressv23.2正式版下载DevExpress技术交流群9:909157416      欢迎一起进群讨论在2023年12月(......
  • 神经网络优化篇:详解Batch Norm 为什么奏效?(Why does Batch Norm work?)
    BatchNorm为什么奏效?为什么Batch归一化会起作用呢?一个原因是,已经看到如何归一化输入特征值\(x\),使其均值为0,方差1,它又是怎样加速学习的,有一些从0到1而不是从1到1000的特征值,通过归一化所有的输入特征值\(x\),以获得类似范围的值,可以加速学习。所以Batch归一化起的作用的原因,直......