문자열이 base64로 인코딩할지 여부를 확인하는 방법?

친애하는 Sirojiddinov :

나는 HTML IMG SRC base64로 인코딩 된 형식으로 또는 나의 자바 스프링 백엔드에를 확인합니다. 그것은 Base64로 난 그냥 디코딩 이미지 것이다 다음 인코딩 내 서버에 저장이 내 서버에 저장 한 후 이미지 URL 경로에 따라 먼저 다운로드 할 수없는 경우 경우. 나는 이미지를 다운로드 및 디코딩 이미지 기능을 내장했습니다. 그러나 base64로 체크를 확인할 수 없습니다. 나는 문을 확인 시도 캐치를 사용하려고하지만 base64로가없는 경우 내가 잡기 오류가 필요하지 않습니다. PS 나는 java.util.Base64를 사용하고

public boolean isBase64(String path) {
   try {
        Base64.getDecoder().decode(path);

    } catch(IllegalArgumentException e) {   
    }
}
edwgiz :

당신이에 의해 정확한 값을 수신하는 경우 <img src="..." />속성 그것은이 있어야 데이터 URL 형식을

간단한의 정규 표현식은 URL이 데이터 또는 일반 있는지 여부를 확인 할 수있다. 자바 그것은처럼 보일 수 있습니다

    private static final Pattern DATA_URL_PATTERN = Pattern.compile("^data:image/(.+?);base64,\\s*", Pattern.CASE_INSENSITIVE);

    static void handleImgSrc(String path) {
        if (path.startsWith("data:")) {
            final Matcher m = DATA_URL_PATTERN.matcher(path);
            if (m.find()) {
                String imageType = m.group(1);
                String base64 = path.substring(m.end());
                // decodeImage(imageType, base64);
            } else {
                // some logging
            }
        } else {
            // downloadImage(path);
        }
    }

추천

출처http://43.154.161.224:23101/article/api/json?id=363486&siteId=1