博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA获取一个图片路径后,下载该图片再重新上传至指定路径中
阅读量:5749 次
发布时间:2019-06-18

本文共 1735 字,大约阅读时间需要 5 分钟。

需求如题。

代码如下

  //filePath格式为““src='文件路径'””  public void Test(String filePath){

     String filePath = GetHtmlImageSrcList(custom.getDescription()).get(0);//将文件路径通过正则表达式转换为http://XXX/XX的形式

    URL url = new URL(filePath);    HttpURLConnection connection = (HttpURLConnection)url.openConnection();     connection.setConnectTimeout(30000);     connection.setReadTimeout(30000);     connection.connect();     String fileName = filePath.substring(filePath.lastIndexOf("."));     String photoUrl =       OSSClientUtil.uploadFile2OSS(connection.getInputStream(),           "scene/" + dateTimeSSSFormat.format(new Date()) + fileName);//框架已存在的文件上传方法,在此不赘述  }    /**     * 获取IMG标签的SRC地址     */    public static List
GetHtmlImageSrcList(String htmlText) { List
imgSrc = new ArrayList
(); Matcher m = Pattern.compile("src=\"?(.*?)(\"|>|\\s+)").matcher(htmlText); while (m.find()) { imgSrc.add(m.group(1)); } return imgSrc; }

1、其中

//URL aURL = new URL(“http://www.mycompany.com:8080/index.html”); 我们创建了一个使用完整URL的URL class,其中明确指出了使用的协议是http,主机名称是www.mycompany.com,端口号码为8080,文件/资源为 index.html。如果组成URL的语法发生了错误,那么构造器就会发出MalformedURLException。 openConnection并不需要参数,并且在操作成功之后,它会返回一个URLConnection class的实例。 后续还有对URL内容的读写操作,可参考https://www.cnblogs.com/blackiesong/p/6182038.html中的解释。
2、GetHtmlImageSrcList方法中用到了Pattern和Matcher两个类,这两个都在java提供的java.util.regex类工具包中。 详细内容参考http://www.cnblogs.com/ggjucheng/p/3423731.html中的解释。 3、正则表达式:可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 语法参考http://www.runoob.com/regexp/regexp-syntax.html。 https://baijiahao.baidu.com/s?id=1588848792548192879&wfr=spider&for=pc

转载于:https://www.cnblogs.com/sjbas/p/10270698.html

你可能感兴趣的文章
SpringCloud系列:服务配置文件的进化历程(程序内置、程序外置、实时更新)...
查看>>
支付宝6轮面试经验
查看>>
配置FTP服务
查看>>
iOS转场弹窗、网易云音乐动效、圆环取色器、Loading效果等源码
查看>>
【资源分享】ArcFace Demo [Android]
查看>>
vue中$refs的用法及作用详解
查看>>
详谈分布式最终一致性
查看>>
玩转 React【第02期】:恋上 React 模板 JSX
查看>>
MyEclipse Web开发教程:XML & XML架构(一)
查看>>
linux文件权限与属性的更改
查看>>
Juniper系列之密码恢复
查看>>
spring cloud(一):微服务架构开篇
查看>>
Centos7安装完毕后无法联网的解决方法
查看>>
iptables防火墙(for linux平台)部署文档二
查看>>
CentOS 5.5 安装MYSQL
查看>>
HTML元素属性测试总结(续篇)
查看>>
【python】编程语言入门经典100例--28
查看>>
Cocos2d-x游戏实例-《跑跑跑》制作教程(第一篇)——加载地图
查看>>
Jquery绑定事件
查看>>
android 资源种类及使用
查看>>