我创建了一个表单来将一些图像插入blob字段。要选择我使用的图片如何知道上传的文件是否为图像
<input type="file"....
我有这种形式:
<form enctype="multipart/form-data" method="post" ....
在一个servlet我用这个来“得到”的图像上传
Part immagine = request.getPart("immaginePrincipale");
但现在我有一个问题:我怎样才能确定一个文件是一个图像,而不是另一个文件改名为图像(例如file.txt renamed file.jpg)?
////////////////////////////////解决方案///////////// ////////////////////////////////////
@sdanzig提供的代码似乎可行。
我只是通过我的InputStream方法createImageInputStream()
ImageInputStream iis = ageIO.createImageInputStream(myInpuStream);
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
while (readers.hasNext()) {
ImageReader read = readers.next();
System.out.println("format name = " + read.getFormatName());
}
看看文件标题来检查它是否是一个有效的图像。有些库可以用于此目的。快速搜索给了我[Java Mime Magic Library](http://sourceforge.net/projects/jmimemagic/),但我确定还有其他的。 – NullUserException