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



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM