最初にダウンロードしなくても、JavaでWebサイト上の画像のサイズを取得するためのコードを探しています。画像が大きすぎると、ファイルをダウンロードせずにエラーメッセージが返されるため、ユーザーはファイルが大きすぎることにつながるURLを入力しないという考え方です。画像の高さと幅が必要になります。
StackOverflowの別のユーザーからのこのコードは、システムにファイルがある場合にこれを実行することを知っています。
private Dimension getImageDim(final String path) {
Dimension result = null;
String suffix = this.getFileSuffix(path);
Iterator<ImageReader> iter = ImageIO.getImageReadersBySuffix(suffix);
if (iter.hasNext()) {
ImageReader reader = iter.next();
try {
ImageInputStream stream = new FileImageInputStream(new File(path));
reader.setInput(stream);
int width = reader.getWidth(reader.getMinIndex());
int height = reader.getHeight(reader.getMinIndex());
result = new Dimension(width, height);
} catch (IOException e) {
log(e.getMessage());
} finally {
reader.dispose();
}
} else {
log("No reader found for given format: " + suffix));
}
return result; }
ただし、それをURLオブジェクトで使用できるものに変換する方法がわかりません。
編集:ピクセル幅とピクセル高さに興味があります。