親愛なるSirojiddinov:
私は、HTML IMG SRC base64でエンコードされた形式でかどうか、私のJavaの春のバックエンドにあるを確認したいです。それがある場合は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は、データまたは規則的であるかどうかを決定することができます。Javaでは、それは次のように見ることができます
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);
}
}