我正在寻找一些代码来获取Java网站上图像的尺寸,而无需先下载它。这个想法是,如果图像太大,我不会下载文件并返回错误消息,因此用户不会输入导致文件太大的 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 对象的内容。
编辑:我对像素宽度和像素高度感兴趣。