判断图片url损坏无法展示工具类
最近负责的项目是图片相关的,我们的图片都是存到S3上,但可能S3上把数据删除了,导致图片无法正常展示,所以要判断图片如果不能正常展示就做其他处理(从url上无法判断出图片是否损坏,必须得发送个http请求,根据返回值判断图片是否正常
),代码如下
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;import java.net.HttpURLConnection;
import java.net.URL;/** 图片是否存在工具类*/
@Slf4j
public class ImageExistUtils {/*** 判断图片是否存在(直接访问url看返回值是否为404)* @param imgUrl* @return false:不存在; true:存在*/public static boolean isImageExist(String imgUrl){if (StringUtils.isBlank(imgUrl)){return false;}try {URL url = new URL(imgUrl);HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();int responseCode = httpConn.getResponseCode();if (responseCode == HttpURLConnection.HTTP_NOT_FOUND){return false;}return true;}catch (Exception e){log.error("isImageExist error,url={}",imgUrl,e);}return true;}
}