根据URL下载图片至客户端、服务器实例

1、保存至服务器

  根据路径保存至项目所在服务器上。

 1         String imgUrl="";//图片地址
 2         try {
 3             // 构造URL
 4             URL url = new URL(imgUrl);
 5             // 打开连接
 6             URLConnection con = url.openConnection();
 7             // 输入流
 8             InputStream is = con.getInputStream();
 9             // 1K的数据缓冲
10             byte[] bs = new byte[1024];
11             // 读取到的数据长度
12             int len;
13             // 输出的文件流
14             OutputStream os = new FileOutputStream("c:\\image.jpg");//保存路径
15             // 开始读取
16             while ((len = is.read(bs)) != -1) {
17                 os.write(bs, 0, len);
18             }
19             // 完毕,关闭所有链接
20             os.close();
21             is.close();
22         } catch (MalformedURLException e) {
23             e.printStackTrace();
24         } catch (FileNotFoundException e) {
25             e.printStackTrace();
26         } catch (IOException e) {
27             e.printStackTrace();
28         }

2、保存至本地

  以浏览器下载的方式保存至本地。

 1         String imgUrl="";//URL地址
 2         String fileName = imgUrl.substring(imgUrl.lastIndexOf(‘/‘) + 1);
 3         BufferedInputStream is = null;
 4         BufferedOutputStream os = null;
 5         try {
 6             URL url = new URL(imgUrl);
 7             this.getServletResponse().setContentType("application/x-msdownload;");
 8             this.getServletResponse().setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
 9             this.getServletResponse().setHeader("Content-Length", String.valueOf(url.openConnection().getContentLength()));
10             is = new BufferedInputStream(url.openStream());
11             os = new BufferedOutputStream(this.getServletResponse().getOutputStream());
12             byte[] buff = new byte[2048];
13             int bytesRead;
14             while (-1 != (bytesRead = is.read(buff, 0, buff.length))) {
15                 os.write(buff, 0, bytesRead);
16             }
17             if (is != null)
18                 is.close();
19             if (os != null)
20                 os.close();
21         } catch (MalformedURLException e) {
22             e.printStackTrace();
23         } catch (UnsupportedEncodingException e) {
24             e.printStackTrace();
25         } catch (IOException e) {
26             e.printStackTrace();
27         }
时间: 2024-08-06 19:04:30

根据URL下载图片至客户端、服务器实例的相关文章

从url下载图片--java与python实现方式比较

从url下载图片--java与python实现方式比较 博客分类: 技术笔记小点滴 javapython图片下载 一.java的实现方式 首先读取图片 Java代码   //方式一:直接根据url读取图片 private static BufferedImage read(String imageUrl) throws IOException { URL url = new URL(imageUrl); BufferedImage image = ImageIO.read(url); retur

JAVA 通过url下载图片保存到本地

//java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造URL URL url = new URL(urlString); // 打开连接 URLConnection con = url.openConnection(); // 输入流 InputStream is = con.getInputStream(); // 1K的数据缓冲 byte[] bs

android通过url下载图片并实现fragment与activity的图片交互

增加了图片放大缩小功能,一共用到三个类.MainActivity仅作为添加fragment用,其全部代码如: package com.example.ex_1213_mypic; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentT

Java依据Url下载图片

package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.sql.ResultSet; import ja

Java根据Url下载图片

package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.sql.ResultSet; import ja

java 微信服务器下载图片到自己服务器

/** * @author why * */ public class PicDownload { /** * * 根据文件id下载文件 * * * * @param mediaId * * 媒体id * * @throws Exception */ public static InputStream getInputStream(String accessToken, String mediaId) { InputStream is = null; String url = "http://f

iOS开发实践之cell下载图片(NSOperation)

滚动列表cell的图片从服务器上下载显示,利用多线程和缓存技术 高效下载显示图片. cell下载图片思路: 1.定义images字典存放下载后的图片(图片下载url作为key,图片作为value)cell图片先去images字典中找,没有就往下(沙盒中查找). 2.查找沙盒是否存在,若存在就设置cell图片,否则显示占位图片(增强体验感)并开启线程下载图片. 3.定义字典operations存放所有的下载操作(url是key,operation对象是value).判断下载操作是否存在,若存在 说

Android 使用Jsoup解析html+下载图片

最近想鼓捣一下CSDN客户端,这篇博客主要介绍如何使用Jsoup解析html页面通过标签获取所需内容,并下载指定图片资源. 一.导入Jsoup JAR包 JAR包下载地址:jsoup 1.6.1 注意导入包到项目时,直接将解压后的jar文件全部复制到libs文件目录下即可,否则运行时会报错. 二.下载html页面并解析 代码: package com.example.testcsdn; import java.io.ByteArrayOutputStream; import java.io.IO

Android下载图片显示问题

============问题描述============ 我用下面的代码从服务器端下载了图片,运行在新开的线程中 System.out.println("before bm = " + bm); String imageUrl1 = "http://10.0.2.2:8080/BBStuServlet/test01_upload_1.jpg"; bm = NetTool.downlodBitmap(imageUrl1); map2.put("image&q