精华内容
下载资源
问答
  • Java 通过url下载图片

    千次阅读 2018-10-31 18:02:54
    //web端通过点击下载图片到本地(图片url是服务上的访问路径) 前端代码: <a href ="javascript:void(0)" onclick="downloadImg('${root}/web/${url}')" class="c-3277de mlr-6&...

    //web端通过点击下载图片到本地(图片url是服务上的访问路径)

    前端代码:

    <a href ="javascript:void(0)"  οnclick="downloadImg('${root}/web/${url}')" class="c-3277de mlr-6">下载</a>

    说明:${url}是图片路径:如http://xxx/图片.png

     //下载海报
        function downloadImg(url) {
            window.location.href =url;
        }

    后端代码:

    @RequestMapping(value = "/web/{url}")
    @ResponseBody
    public void downloadImg(HttpServletResponse response, @PathVariable String url) {
    OutputStream outputStream = null;
    InputStream inputStream = null;
    try {
        if (CommonUtil.isNotNull(url)) {
            logger.info("读取图片中");
            response.setContentType("application/force-download");
            response.setCharacterEncoding("utf-8");
            String fileName=activityId+".png";
            if(request.getHeader("user-agent").contains("Firefox"))//判断是否为火狐
                fileName=new String(fileName.getBytes("utf-8"), "ISO8859-1");
            else
                fileName=URLEncoder.encode(fileName, "utf-8");
            response.setHeader("Content-Disposition", "attachment;filename=\""+fileName+"\"");
    
            //图片下载
            URL url = new URL(url);
            URLConnection conn = url.openConnection();
            outputStream = response.getOutputStream();
            inputStream = conn.getInputStream();
            IOUtils.copy(inputStream, outputStream);
        }
    } catch (Exception e) {
        logger.error("下载图片失败",e);
    }finally {
        IOUtils.closeQuietly(inputStream);
        IOUtils.closeQuietly(outputStream);
    }
    }

    如果你是湖南的欢迎加入湖南人在深圳-Java群:557651502

    展开全文
  • @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // /home/file/**为前端URL访问路径 后面 file:xxxx为本地磁盘映射 registry.addResourceHandler("/home/file/**")....

    1.引入jar包

    org.springframework.boot

    spring-boot-starter-web

    2.创建配置类

    package com.common.config;

    import org.springframework.beans.factory.annotation.Value;

    import org.springframework.context.annotation.Configuration;

    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

    /**

    * @BelongsProject: demo

    * @Author: DanBrown

    * @CreateTime: 2020-03-28 14:33

    * @description: TODO

    */

    @Configuration

    public class WebConfig implements WebMvcConfigurer {

    @Value("${upload.path}")

    private String uploadPath;

    @Override

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

    // /home/file/**为前端URL访问路径 后面 file:xxxx为本地磁盘映射

    registry.addResourceHandler("/home/file/**").addResourceLocations("file:C:" + uploadPath);

    }

    }

    3. 访问

    http://localhost:8080/home/file/820123.png

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • java禁止直接url访问图片

    千次阅读 2017-09-21 16:11:12
    *、由于项目需要查询很...当直接通过url访问静态资源时,refer是null 当通过系统内部调用静态资源时,refer是调用者的链接 故:可以通过判断refer来判断是否是直接访问图片链接的操作   *、实现思路 首先是过...

    *、由于项目需要查询很多种方式禁止直接通过url链接直接访问图片资源的问题,在尝试了几种方案之后,发现了一个可用的资源。

         

    主要是对request中的refer参数的利用
    当直接通过url访问静态资源时,refer是null
    当通过系统内部调用静态资源时,refer是调用者的链接
    故:可以通过判断refer来判断是否是直接访问图片链接的操作

     

    *、实现思路

    首先是过滤器,专门拦截指定文件类型或路径
    过滤器中判断refer是否有效
    若有效继续,否则跳转到错误等页面即可

     

     *、小知识之禁止图片右键

    <script type="text/javascript">
    	$(function() {
    		$("img").load(function() {//一定要保证图片已经加载完毕,不然会出现图片还未加载完毕,事件就无效了
    		    $('img').bind("contextmenu", function(e){return false; });
    		});
    	});
    </script>

     

     

     

     

     

    -------------------------------------------------------------资源-----------------------------------------------------------

    *、防止图片盗链

    http://blog.csdn.net/u014482758/article/details/43485787

     

    展开全文
  • 在工作中通常有这么个需求:跟第三方对接数据,第三方给的图片数据只有一个url链接,这就导致我们访问图片资源要一直请求第三方的资源。万一第三方做了限制或者删除,就导致我们这边的图片资源访问不到了。 这就需要...

    Java通过图片URL把图片上传到本地服务器

    在工作中通常有这么个需求:跟第三方对接数据,第三方给的图片数据只有一个url链接,这就导致我们访问图片资源要一直请求第三方的资源。万一第三方做了限制或者删除,就导致我们这边的图片资源访问不到了。这就需要我们把第三方的图片url实时转存到我们的服务器上,真正的实现资源自由

    其实实现逻辑很简单:
    ①首先通过URL从HTTP响应获取资源
    ②然后把资源转成文件流
    ③最后以文件流的形式上传图片到服务器

    话不多所,直接上Springboot代码👇👇👇

    @RestController
    @RequestMapping("/upload")
    public class TestController {
    
        @GetMapping("/testUpload")
        public String testUpload(){
            try {
                //网络图片资源的url(可以把这个放参数中动态获取)
                String picUrl = "http://img1.gtimg.com/chinanba/pics/hv1/220/29/2326/151255765.jpg";
                //获取原文件名
                String fileName = picUrl.substring(picUrl.lastIndexOf("/")+1);
                //创建URL对象,参数传递一个String类型的URL解析地址
                URL url = new URL(picUrl);
                HttpURLConnection huc = (HttpURLConnection) url.openConnection();
                //从HTTP响应消息获取状态码
                int code = huc.getResponseCode();
                if (code == 200) {
                    //获取输入流
                    InputStream ips = huc.getInputStream();
                    byte[] buffer = new byte[1024];
                    int len = 0;
                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    while ((len = ips.read(buffer)) != -1) {
                        bos.write(buffer, 0, len);
                    }
                    bos.close();
                    return uploadFileByBytes(bos.toByteArray(),fileName);
                }
                return "";
            } catch (Exception e) {
                return "";
            }
        }
    
        private String uploadFileByBytes(byte[] bytes, String fileName) throws Exception {
            for (int i = 0; i < bytes.length; i++) {
                if (bytes[i] < 0) {
                    bytes[i] += 256;
                }
            }
            String realPath = System.getProperty("user.dir") + File.separator + "upload" + File.separator;
            //文件路径
            String url = realPath + fileName;
            //判断文件路径是否存在,如果没有则新建文件夹
            File files = new File(realPath);
            if(!files.exists()){
                files.mkdirs();
            }
            //把文件写入到指定路径下
            try(OutputStream out = new BufferedOutputStream(new FileOutputStream(url, false))){
                out.write(bytes);
            }
            return url;
        }
    }
    

    实现效果如下👇👇👇
    请求访问
    实现效果

    展开全文
  • Java通过URL获取公众号文章生成HTML

    千次阅读 多人点赞 2019-12-28 14:26:47
    说明:通过公众号URL获取的内容,文字可以正常显示,但是图片存在跨域访问的问题,微信不允许跨域访问公众号图片,所以需要将公众号图片从存入本地后,再上传至OSS,然后把HTML中的图片全部替换为自己的OSS地址就...
  • 接口开发出来后,通过A内网浏览器访问,B服务器的nginx映射的url能读取图片,而A应用始终获取不到图片。 找了好久的日志,是这个MalformedURLException才发现是base64的编码加密有问题 import org.apache.commons....
  • 如果想放图片 之类直接可以访问的东西 不能放在这里面
  • 养成习惯,先赞后看!!!前言上一篇文章:分布式文件存储系统fastdfs安装教程 教大家怎么安装了FastDFS,并且测试了一下如何通过...使得FastDFS为我们生成的文件URL能够让我们直接通过URL在浏览器里面直接访问F...
  • Android通过URL查看图片

    千次阅读 2015-06-25 19:39:53
    标准Java接口(java.net) ----HttpURLConnection,可以实现简单的基于URL请求、响应功能;任何一种接口,无外乎四个基本功能:访问网页、下载图片或文件、上传文件.本文示范的是访问网页和下载图片。 运行如下: ...
  • 2. Java实现的web应用程序通过文件系统创建一个文件,比如File w = new File(“/mnt/virtualFs/test.jpg”),写完并关闭文件后,直接用本地文件系统读该文件,没有任何问题,比如File r = new File(“/mnt/virtualFs...
  • 通过get 请求访问图片地址,将通过服务器响应的数据(即图片数据)存到本地文件中... --> HttpURLConnectionUtil 工具类 package com.dragon.java.downloadpic; import java.io.BufferedInputStream; ...
  • import java.net.URL; public class MainActivity extends Activity { ImageView show; // 代表从网络下载得到的图片 Bitmap bitmap; Handler handler = new Handler() { @Override public void ...
  • 如下图,我不能直接通过地址栏的url访问HTML页面. ![图片说明](https://img-ask.csdn.net/upload/201708/09/1502243574_813631.png) 以下是我的配置: # web.xml <?xml version="1.0" encoding="UTF-8"?> xmlns=...
  • Java携带HTTP头信息下载网络图片

    千次阅读 2019-03-12 10:48:27
    Java携带HTTP头信息下载网络图片 网络图片下载校验一般分两种情况: ...如下图直接通过url访问返回:{"code":"40310014","msg":"invalid Referer header"} 原http访问图片携带了Reffer 工具代码 /**...
  • 由于谷歌在4.0系统以后就禁止在主线程中进行网络访问了,原因是:主线程是负责UI的响应,如果在主线程进行网络访问,超过5秒的话就会引发强制关闭,所以这种耗时的操作不能放在主线程里,可以新开一个子线程里,而子...
  • import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException;...import java.net.URL; import android.app.Activity; import andro...
  • java后端通过https获取图片 public static void main(String[] args) { try { BufferedImage image = ImageIO.read(new URL("https://10.128.33.56:6202/object/download?pool=s_alarm&id=2dfa47ccaa56ca64c...
  • 方法是,在服务器B其上写个JSP或Servlet,A通过访问B上的JSP或Servlet,B以流的形式吐出,A获取流数据并生成图片。 以下是主要的实现代码 A上的请求Action主要代码 [code="java"]try { String...
  • 方法之前我们先说一下设计思路,有了好...②Java通过Runtime调用phantomjs脚本,并传入url和filename参数,相当于打开浏览器; ③使用page.open(url)打开该地址,相当于在浏览器中浏览访问; ④使用page.render(fil...
  • 代码如下,通过浏览器访问返回的是“123”,但是后台输出却是一个页面,怎么才能通过访问“http://localhost:8080/test/index.jsp”后台也返回“123”? @RequestMapping("/fs") @ResponseBody public String fs...
  • 你随机复制/粘贴代码吗?这就是它的样子.这段代码有很多奇怪的方面,我没有记录它们(可能是一个很好的代码审查).该示例使用异步方法加载...将它们添加到运行时类路径并通过URL访问它们.>应在EDT上启动和更改Swing...
  • 如果我们数据库存的图片地址由于网段限制访问不到,那么我们需要在没有网段限制的环境中,通过url值下载的图片再转换成Base64码存入数据库中,但是这样的话就得考虑下数据量了,因为转成Base64码后存到数据库后,所...
  •  说下背景,项目中遇到前端js获取图片发生跨域的问题,服务器端又不支持匿名访问,只能通过服务器获取图片base64码进行展示。代码如下: /** * 远程读取image转换为Base64字符串 * @param imgUrl * @return ...
  • 更多技术文章请访问我的个人博客这篇文章使用Java组件显示窗口,在通过输入的图片url地址在窗口中显示出来,可作为一个网络图片查看器,感兴趣的可以打包成jar或者.exe文件方便使用,这里我只挂出了源码,效果如下图...
  • 将所有图像和图标压缩到其自己的JAR文件中之后-通过将图像JAR文件添加到“库”选项卡中来配置构建路径,以使其现在包含在类路径中。然后,只需在构造函数的开头使用以下3x代码行即可访问所需的任何图像,包括不接受...
  • app1系统使用Spring Security集成 CAS 可通过 SecurityConfig 实现 @Bean public AuthenticationSuccessHandler authenticationSuccessHandler() { SavedRequestAwareAuthenticationSuccessHandler ...
  • 简介:springboot项目作为后台入口,打成jar包后部署到linux服务器,通过url的方式访问服务器本地图片。 实现思路: 显示:后台用配置文件的方式建立url和本地图片的映射关系 上传:用流的方式上传 核心代码: 核心...
  • tomcat访问本地服务器上的图片

    千次阅读 2019-05-13 23:29:35
    JAVA开发SSM为架构的的系统时,把图片直接存储到tomcat/webapps下的某个文件中后,启动tomcat后,直接通过URL访问报404错误。后来查询相关资料后发现需要做以下配置: 由于使用的idea,所以导致该错误,需要修改下...
  • 微博是个好图床,上传后就可以通过一个url访问了。今天就用php来上传图片到微博,这也是来自sf的一个问题, 里面还提到一个python版本.有2种方式实现上传图片:如果要用 http://picupload.service.weib... 这个 URL ...
  • 通过webService相互传送,需要用post请求。get请求对url长度有限制在IE8 下的URL地址总长度为:4076,超过该长度会自动忽略后面的内容;在firefox 25下的URL地址总长度可以达到:7530,超过该长度会访问错误;在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 455
精华内容 182
关键字:

java通过url访问图片

java 订阅