1. 程式人生 > >JAVA獲取一個圖片路徑後,下載該圖片再重新上傳至指定路徑中

JAVA獲取一個圖片路徑後,下載該圖片再重新上傳至指定路徑中

地址 tps spa spider sce scl 形式 connect enc

需求如題。

代碼如下

  //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


JAVA獲取一個圖片路徑後,下載該圖片再重新上傳至指定路徑中