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 ...
随机推荐
- [Go] 如何正确地 抛出 错误 和 异常(error/panic/recover)?
序言 错误 和 异常 是两个不同的概念,非常容易混淆.很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误.从表面上看,一切皆错误的思路 ...
- [Winform]通过钩子监控键盘操作和鼠标移动
摘要 有这样一个需求,在程序隐藏之后,需要监控当前电脑是否有操作,如果1分钟内,无操作,则弹出视频,循环播放. 解决办法 从网上找的一个解决办法,可以通过钩子的方式实现,这里记录一下. /// < ...
- 在树莓派2上安装 Windows 10
微软在2015年4月29日发布了树莓派玩家期待已久的 Windows 10 物联网核心预览版(Windows 10 IoT Core Insider Preview Image for Raspber ...
- 基于设备树的TQ2440的中断(2)
下面以按键中断为例看看基于设备数的中断的用法: 设备树: tq2440_key { compatible = "tq2440,key"; interrupt-parent = &l ...
- struct对象可能分配在托管堆上吗
struct对象可能被分配在托管堆上吗? --会的. 比如当对struct装箱的时候,就会被分配在托管堆上. 比如,让一个struct实现一个接口. public interface IReport ...
- Consul替代Eureka
原文:https://www.cnblogs.com/ityouknow/p/9340591.html 在上个月我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国 ...
- Android 数据存储04之Content Provider
Content Provider 版本 修改内容 日期 修改人 V1.0 原始版本 2013/2/25 skywang 1 URI 通用资源标志符(Universal Resource Identif ...
- css 滚动条样式
1,Overflow内容溢出时的设置 overflow 水平及垂直方向内容溢出时的设置 overflow-x 水平方向内容溢出时的设置 overflow-y 垂直方向内容溢出时的设置 以上三个属性设置 ...
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
几乎每天都在论坛里面看到有网友问这个问题,代码是无误的,在低版本的API上都可以运行的,但在3.0以上的版本就会出现NetworkOnMainThreadException 出现android.os. ...
- 查看Oracle数据库名和实例名的命令
查看数据库名 SQL> select name from v$database; NAME --------- ORCL SQL> desc v$database; 名称 ...