java根据图片路径下载到服务器方案 (转)
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根据图片路径下载到服务器方案 (转)的更多相关文章
- Java已知图片路径下载图片到本地
public static void main(String[] args) { FileOutputStream fos = null; BufferedInputStream bis = null ...
- 【Java】学习路径53-InetAdress获取服务器ip
InetAdress如何使用? import java.net.*; public class InetAdress { public static void main(String[] args) ...
- java通过图片URL下载图片
public InputStream getInputStream(String imgUrl) { InputStream inputStream = null; try{ HttpURLConne ...
- java读取网页图片路径并下载到本地
java读取网页图片路径并下载到本地 最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: packa ...
- Java+jquery实现裁剪图片上传到服务器
大体分两步: 1.利用jquery裁剪图片,把裁剪到的几个点传入后端 2.利用前端传入的几个点,来裁剪图片 首先,用到一个jquery的插件 imgAreaSelect 实例及插件下载地址:http: ...
- JAVA-替换html中图片的路径-从html代码中提取图片路径并下载(完整版)
transHtml方法实现提取网络图片中得图片路径,将其重新下载到本地,并替换html中原来得路径 package com.googosoft.until; import java.io.Buffer ...
- JAVA通过FTP方式向远程服务器或者客户端上传、下载文件,以及删除FTP服务器上的文件
1.在目标服务器上搭建FTP服务器 搭建方式有多种大家可以自行选择,例如使用Serv-U或者FTPServer.exe:这里我以FTPServer.exe为例搭建:在目标服务器(这里对应的IP是10. ...
- Java Web实现使用浏览器从服务器下载文件(后台)
Java Web实现 使用浏览器从服务器下载文件. 下面实现两种情况的下载,需求如下: 需求(一):1.用户在页面填写表单. 2.填写完成后,选择下载,将表单内容发往后台. 3.后台根据内容生产一个文 ...
- 关于解决asp.net mvc网站页面Banner图片即时更换css里背景图片url相对路径问题的新方案
最近在网站首页上想将Banner壁纸给做到后台上传随时更改的效果.遇到问题便是:将上传的图片路径动态添加到首页css代码中,结果尝试了网上提供的思路,更改相对路径,换为url中“../../Conte ...
随机推荐
- JVM7、8参数详解及优化
1. JVM堆内存划分 这两天看到下面这篇文章的图不错. 一图读懂JVM架构解析 1.1 JDK7及以前的版本 其中最上一层是Nursery内存,一个对象被创建以后首先被放到Nursery中的Eden ...
- High accuracy voltage regulator
High accuracy voltage regulator Good morning everybody, I want to make a accurate voltage regulator ...
- MSDN WinUSB Example
The WinUSB user-mode library uses device interface classes to communicate with the kernel-mode USB s ...
- [Deepin 15] 编译安装 PHP-5.6.30
先看下历史笔记: Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 ################################# ...
- 如何利用 jQuery 修改 css 中带有 !important 的样式属性?
使用 jQuery 修改 css 中带有 !important 的样式属性 外部样式为: div.test { width:auto !important; overflow:auto !import ...
- Revit API单位转换类
用法:txt.Text=UnitConvertC.CovertFromAPI(param.AsDouble());param.Set(UnitConvertC.CovertToAPI(txt.Text ...
- 在ASP.NET MVC中使用Knockout实践02,组合View Model成员、Select绑定、通过构造器创建View Model,扩展View Model方法
本篇体验使用ko.computed(fn)计算.组合View Model成员.Select元素的绑定.使用构造器创建View Model.通过View Model的原型(Prototype)为View ...
- Delphi取UTC时间秒
自格林威治标准时间1970年1月1日00:00:00 至现在经过多少秒数时间模块Uses DateUtils;当前时间:中国是 +8时区,换成UTC 就要减掉8小时showMessage(intt ...
- 使用 MVVMLight 命令绑定(转)
继上一篇文章的项目,我们实现了数据绑定到界面中.这篇文章我们将实现把命令绑定到按钮上,在XAML中的Button之类的都会有个Command属性可以让我们来绑定命令使用. 首先我们要实现的目标是,在界 ...
- Linkedin工程师是如何优化他们的Java代码的
http://greenrobot.me/devpost/java-faster-less-jvm-garbage/ Linkedin工程师是如何优化他们的Java代码的 最近在刷各大公司的技术博客的 ...