http://www.cnblogs.com/thinkingandworkinghard/articles/5589484.html

平常做的工作中,有一部分是同步数据的。但是同步的过程中碰到个问题,是这样子的:我们的数据是从公司另一个部门的服务器上同步过来的,里面有图片,但是只有图片的路径。这样我们每次读取图片的时候,读取的是他们的服务器的图片,一旦他们的服务器出现问题,我们这边就会读取不到。同事提出了这个问题,并让我根据他们的图片地址在同步数据的时候,把图片也下载到我们的服务器上,这样读取的时候读取成我们自己的服务器上,于是上网先搜了下怎么根据图片路径保存到本地:参考http://takeme.iteye.com/blog/1683380

import java.io.File;
2.import java.io.FileOutputStream;
3.import java.io.InputStream;
4.import java.io.OutputStream;
5.import java.net.URL;
6.import java.net.URLConnection;
7.
8.
9.public class DownloadImage {
10.
11. /**
12. * @param args
13. * @throws Exception
14. */
15. public static void main(String[] args) throws Exception {
16. // TODO Auto-generated method stub
17. download("http://ui.51bi.com/opt/siteimg/images/fanbei0923/Mid_07.jpg", "51bi.gif","c:\\image\\");
18. }
19.
20. public static void download(String urlString, String filename,String savePath) throws Exception {
21. // 构造URL
22. URL url = new URL(urlString);
23. // 打开连接
24. URLConnection con = url.openConnection();
25. //设置请求超时为5s
26. con.setConnectTimeout(5*1000);
27. // 输入流
28. InputStream is = con.getInputStream();
29.
30. // 1K的数据缓冲
31. byte[] bs = new byte[1024];
32. // 读取到的数据长度
33. int len;
34. // 输出的文件流
35. File sf=new File(savePath);
36. if(!sf.exists()){
37. sf.mkdirs();
38. }
39. OutputStream os = new FileOutputStream(sf.getPath()+"\\"+filename);
40. // 开始读取
41. while ((len = is.read(bs)) != -1) {
42. os.write(bs, 0, len);
43. }
44. // 完毕,关闭所有链接
45. os.close();
46. is.close();
47. }
48.
49.}
 

这样子确实可以下载到本地,为了防止跨平台,需要把里面的"\\"或者"/"换成 File.separtor,原来我是想把同步工程的图片路径放在tomcat的跟目录下System.getProperty("user.dir"),但是同事提醒了下,说同步的项目不再tomcat里面,这样图片上传的路径没办法放到tomcat的共享目录了。最后再一想,既然这样,还不如让运营人员手工上传或者在另外一个项目里面给添加一个 功能,这样也不用我再同步的项目里面来写了。注意这样定了,明天去公司实现吧。

java根据图片路径下载到服务器方案 (转)的更多相关文章

  1. Java已知图片路径下载图片到本地

    public static void main(String[] args) { FileOutputStream fos = null; BufferedInputStream bis = null ...

  2. 【Java】学习路径53-InetAdress获取服务器ip

    InetAdress如何使用? import java.net.*; public class InetAdress { public static void main(String[] args) ...

  3. java通过图片URL下载图片

    public InputStream getInputStream(String imgUrl) { InputStream inputStream = null; try{ HttpURLConne ...

  4. java读取网页图片路径并下载到本地

    java读取网页图片路径并下载到本地 最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: packa ...

  5. Java+jquery实现裁剪图片上传到服务器

    大体分两步: 1.利用jquery裁剪图片,把裁剪到的几个点传入后端 2.利用前端传入的几个点,来裁剪图片 首先,用到一个jquery的插件 imgAreaSelect 实例及插件下载地址:http: ...

  6. JAVA-替换html中图片的路径-从html代码中提取图片路径并下载(完整版)

    transHtml方法实现提取网络图片中得图片路径,将其重新下载到本地,并替换html中原来得路径 package com.googosoft.until; import java.io.Buffer ...

  7. JAVA通过FTP方式向远程服务器或者客户端上传、下载文件,以及删除FTP服务器上的文件

    1.在目标服务器上搭建FTP服务器 搭建方式有多种大家可以自行选择,例如使用Serv-U或者FTPServer.exe:这里我以FTPServer.exe为例搭建:在目标服务器(这里对应的IP是10. ...

  8. Java Web实现使用浏览器从服务器下载文件(后台)

    Java Web实现 使用浏览器从服务器下载文件. 下面实现两种情况的下载,需求如下: 需求(一):1.用户在页面填写表单. 2.填写完成后,选择下载,将表单内容发往后台. 3.后台根据内容生产一个文 ...

  9. 关于解决asp.net mvc网站页面Banner图片即时更换css里背景图片url相对路径问题的新方案

    最近在网站首页上想将Banner壁纸给做到后台上传随时更改的效果.遇到问题便是:将上传的图片路径动态添加到首页css代码中,结果尝试了网上提供的思路,更改相对路径,换为url中“../../Conte ...

随机推荐

  1. ip定位

    http://www.cnblogs.com/pengcc/p/5294836.html https://wx.jdcloud.com/shop/shopDetail/RTBAsia,里面有各种IP地 ...

  2. DIV+javascript实现首尾相连循环滚动效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. MikroTik RouterOS 6.x版本开始支持使用img镜像安装(U盘安装的终极解决方法)

    从6的rc6版本开始,官方已经提供了img镜像的安装方式,这让很多以前使用U盘安装的弊端一下子解放了,只需要把下载回来的img进入到PE,然后还原即可. 还原方法有很多:比如physdiskwrite ...

  4. 两个div如何并列 (转)

    两个div如何并列?当用到div+css代替table时,我习惯用两个方法: 1 <div id="parent"> <div id="child_1& ...

  5. @RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转)

    引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: 简介: han ...

  6. AutoFac简单入门

    AutoFac是.net程序下一个非常灵活易用,且功能强大的DI框架,本文这里简单的介绍一下使用方法. 安装: Install-Package Autofac 简单的示例: static void M ...

  7. 正余弦信号的DFT频谱分析

    一般的,对正余弦信号进行採样并DFT运算,画出频谱图,会发现频谱并不干净.这样的现象称为频谱泄漏.由于DFT运算仅仅能是有限序列,突然的截断产生了泄漏. 会有这种特殊情况.当採样截取的刚好是整数个周期 ...

  8. 《Go语言实战》摘录:6.1 并发 - 并行 与 并发

    6.1 并行 与 并发

  9. 【防火墙技术连载11】强叔侃墙 攻击防范篇 流量型攻击之UDP Flood及防御

    http://support.huawei.com/huaweiconnect/enterprise/thread-214141.html

  10. 让AngularJS的controllers之间共享数据

    如何让controller之间共享数据呢?大致是让不同controller中的变量指向同一个实例. 通过service创建一个存放共享数据的对象. .service("greeting&qu ...