• JAVA获取一个图片路径后,下载该图片再重新上传至指定路径中


    需求如题。

    代码如下

      //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<String> GetHtmlImageSrcList(String htmlText) {
            List<String> imgSrc = new ArrayList<String>();
            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


  • 相关阅读:
    【POJ 1655】Balancing Act
    【POJ 2631】 Roads in the North
    【洛谷 1002】 过河卒
    【洛谷 3178】树上操作
    【洛谷 1060】开心的金明
    【洛谷 2709】小B的询问
    【洛谷 1972】HH的项链
    JavaSpark-sparkSQL
    java8下spark-streaming结合kafka编程(spark 2.3 kafka 0.10)
    Kafka 使用Java实现数据的生产和消费demo
  • 原文地址:https://www.cnblogs.com/sjbas/p/10270698.html
Copyright © 2020-2023  润新知