无线大图换小图实现

xiaoxiao2021-02-28  60

图片过大,图片服务器提供不同格式图片,服务器获取url进行转换;

package com.lvtu.dao.common; import org.apache.commons.lang3.StringUtils; public class Test {     public static void main(String[] args) {         String ss="http://pic.lvmama.com/580x290//uploads/pc/place2/sss.jpg";         String dd= getFavSmallPictureUrl(ss,"_120_60");         System.out.println(dd);     }     /**      * 获取小图片的url      * @param url      * @param size      * @return      */     public static String getSmallPictureUrl(String url, String size){                  if (StringUtils.isEmpty(url)){             // 返回小驴图片             return "http://pic.lvmama.com/img/cmt/img_120_60.jpg";         }                  // 拼接图片大小         int lastDotPos = url.lastIndexOf(".");         if (lastDotPos > -1 && StringUtils.isNotEmpty(size)) {             StringBuilder newUrlBuilder = new StringBuilder();             newUrlBuilder.append(url.substring(0, lastDotPos));             newUrlBuilder.append(size);             newUrlBuilder.append(url.substring(lastDotPos, url.length()));             url = newUrlBuilder.toString();         }         return url;     }          /**      * 转换收藏列表的图片,由于收藏图片都是来至于其他接口,所以在转换前,先将图片转换成原图格式      * @param url 图片URL      * @param size 需要拼接的尺寸      * @return      */     public static String getFavSmallPictureUrl(String url, String size) {         if(StringUtils.isNotBlank(url) && url.startsWith("http://pic.lvmama.com/")) {             // http://pic.lvmama.com/580x290//uploads/pc/place2/sss.jpg             String regex1 = "http://pic.lvmama.com/\\d+x\\d+/.+";             // _580_290.jpg             String regex2 = "http://pic.lvmama.com/.+_\\d+_\\d+\\.\\w+";             //  _1028_.jpg             String regex3 = "http://pic.lvmama.com/.+_\\d+_\\.\\w+";             if(url.matches(regex1)) {                 String tempUrl = url.substring("http://pic.lvmama.com/".length());                 tempUrl = tempUrl.substring(tempUrl.indexOf("/") + 1);                 url = "http://pic.lvmama.com/" + tempUrl;             } else if(url.matches(regex2) || url.matches(regex3)) {                 String tempUrl = url.substring(0, url.lastIndexOf("_"));                 tempUrl = tempUrl.substring(0, tempUrl.lastIndexOf("_"));                 String suffix = url.substring(url.lastIndexOf("."));                 url = tempUrl + suffix;             }         }         return getSmallPictureUrl(url, size);     } }

转载请注明原文地址: https://www.6miu.com/read-46410.html

最新回复(0)