1. package test.dao;
  2.  
  3. import eh.base.dao.DoctorDAO;
  4. import eh.entity.base.Doctor;
  5. import junit.framework.TestCase;
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;
  7. import org.springframework.util.StringUtils;
  8.  
  9. import java.io.FileOutputStream;
  10. import java.io.InputStream;
  11. import java.io.OutputStream;
  12. import java.net.URL;
  13. import java.net.URLConnection;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16.  
  17. /**
  18. * Created by houxr on 2016/5/16.
  19. */
  20. public class DownloadJPGFromUrlTest extends TestCase {
  21.  
  22. private static ClassPathXmlApplicationContext appContext;
  23.  
  24. static {
  25. appContext = new ClassPathXmlApplicationContext("test/spring.xml");
  26. }
  27.  
  28. private static DoctorDAO dao = appContext.getBean("doctorDAO", DoctorDAO.class);
  29.  
  30. /**
  31. * 根据手机号码获取 医生二维码图片
  32. */
  33. public void testGetTicketAndUrlByDoctorId() {
  34. String s="13957120890,13858060709,13958166572," +
  35. "13758143571,13805752614,13867469261," +
  36. "13957178822,13868101010,18758205727";
  37. List<String> list = new ArrayList<String>();
  38. Doctor doctor=null;
  39. String[] newstr = s.split(",");
  40. for(int i =0;i<newstr.length;i++){
  41. list.add(newstr[i]);
  42. }
  43. List<Doctor> doctorList=new ArrayList<Doctor>();
  44. for(int j=0;j<list.size();j++){
  45. doctor=dao.getByMobile(list.get(j));
  46. dao.getTicketAndUrlByDoctorId(doctor.getDoctorId());
  47. //doctorList.add(doctor);
  48. System.out.println(doctor.getName());
  49. }
  50. System.out.println("====二维码生成end===="+doctorList.size());
  51. }
  52.  
  53. /**
  54. * 下载文件到本地
  55. * @param urlString 被下载的文件地址
  56. * @param filename 本地文件名
  57. * @throws Exception 各种异常
  58. */
  59. public static void download(String urlString, String filename) throws Exception {
  60. // 构造URL
  61. URL url = new URL(urlString);
  62. // 打开连接
  63. URLConnection con = url.openConnection();
  64. // 输入流
  65. InputStream is = con.getInputStream();
  66. // 1K的数据缓冲
  67. byte[] bs = new byte[1024];
  68. // 读取到的数据长度
  69. int len;
  70. // 输出的文件流
  71. OutputStream os = new FileOutputStream(filename);
  72. // 开始读取
  73. while ((len = is.read(bs)) != -1) {
  74. os.write(bs, 0, len);
  75. }
  76. // 完毕,关闭所有链接
  77. os.close();
  78. is.close();
  79. }
  80.  
  81. public static void getWxDoctorPhoto(String mobile) {
  82. try{
  83. if(!StringUtils.isEmpty(mobile)) {
  84. Doctor doctor = dao.getByMobile(mobile);
  85. //从图片服务器上下载图片
  86. download("http://url/upload/" + doctor.getQrCode(),
  87. "E:/wxphoto/" + doctor.getName() + "_" + doctor.getMobile() + ".jpg");
  88. }
  89. }catch (Exception e){
  90. e.printStackTrace();
  91. }
  92. }
  93.  
  94. public static void main(String[] args) {
  95. getWxDoctorPhoto("15268293359");
  96. }
  97.  
  98. }

URL地址下载图片到本地的更多相关文章

  1. java根据图片的url地址下载图片到本地

    package com.daojia.haobo.aicircle.util; import sun.misc.BASE64Encoder; import java.io.*; import java ...

  2. QTP 通过URL地址下载文件到本地(转)

    While automation, you may come to situations where you need to need to download a file on clicking a ...

  3. 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址

    1.通过scrapy内置的ImagePipeline下载图片到本地 2.获取图片保存本地的地址 1.通过scrapy内置的ImagePipeline下载图片到本地 1)在settings.py中打开  ...

  4. scrapy中的ImagePipeline下载图片到本地、并提取本地的保存地址

    通过scrapy内置到ImagePipeline下载图片到本地 在settings中打开 ITEM_PIPELINES的注释,并在这里面加入 'scrapy.pipelines.images.Imag ...

  5. QT通过url下载图片到本地

    /* strUrl:下载图片时需要的url strFilePath:下载图片的位置(/home/XXX/YYY.png) */ void ThorPromote::downloadFileFromUr ...

  6. Java-->利用URL类下载图片

    --> 通过get 请求访问图片地址,将通过服务器响应的数据(即图片数据)存到本地文件中... --> HttpURLConnectionUtil 工具类 package com.drag ...

  7. php下载图片到本地

    写了一天,就写了这么点代码,凑合用吧. #saveImage.php<?php /** * 图片下载方法,提供两种图片保存方式: * 1.按照图片自带的名称保存 * 2.按照自定义文件名保存 * ...

  8. 通过HttpURLConnection下载图片到本地--下载附件

    一.背景说明 现在我做的系统中,需要有一个下载附件的功能,其实就是下载图片到本地中.相应的图片保存在多媒体系统中,我们只能拿到它的资源地址(url),而不是真实的文件. 这里记录的是下载单个图片.下篇 ...

  9. Java学习笔记——IO操作之以图片地址下载图片

    以图片地址下载图片 读取给定图片文件的内容,用FileInputStream public static byte[] mReaderPicture(String filePath) { byte[] ...

随机推荐

  1. Oracle 基础 数据库备份与恢复

    一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故 ...

  2. mac下修改mysql登录密码

    mysql版本5.7.9 在mac终端下修改mysql用户登录密码 终端命令如下: update mysql.user set authentication_string=PASSWORD(" ...

  3. 能够提高开发效率的Eclipse实用操作

    工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...

  4. 正则转nfa:bug消除

    正则到nfabug的解决方法 前面提到了这个bug,为了解决这个bug,我们必须在每次引用到一个假名的时候,都构建一个拷贝.现在假设我们遇到了一个假名,并得到了他的开始节点和结束节点,当前的难题就是构 ...

  5. 转: android apk 防止反编译技术(1~5连载)

    转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...

  6. P2342 叠积木

    P2342 叠积木 17通过 66提交 题目提供者wwqk4444 标签树状数组线段树USACO 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目背景 Cube Stacki ...

  7. 十大Intellij IDEA快捷键(转)(2015年06月15日)

    注:本文转自:http://blog.csdn.net/dc_726/article/details/42784275 Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow ...

  8. 学习Slim Framework for PHP v3 (七)--route middleware怎么被add进来的?

    上两篇中分析了route是怎么被加进来的,以及如何被匹配的.这篇说一下route middleware是如何被加进来的,即add进来的.index.php的代码如下: $app->get('/f ...

  9. Python调用Webservice、访问网页

    昨天在调试Webservice的时候,由于不想写测试程序,就想用Python访问Webservice,结果还是相当的麻烦.远没有VSIDE用的方便 不得不说VS还是很强大的,人性化做的很好,不需要你看 ...

  10. Python类和实例

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...