我循环遍历目录并复制所有文件.现在我做string.EndsWith检查".jpg"或".png"等..
有没有更优雅的方法来确定文件是否是一个图像(任何图像类型)没有上面的hacky检查?
在我的Web应用程序中,我有一个图像上传模块.我想检查上传的文件,无论是图像文件还是任何其他文件.我在服务器端使用Java.
图像BufferedImage在java中读取,然后我将其写入磁盘ImageIO.write()
我该如何检查BufferedImage,无论是真的是图像还是其他什么?
任何建议或链接将不胜感激.
我想检查传递的文件是否是图像,如果不是,我想显示一条消息,指示该文件不是图像.
try{
Image img = ImageIO.read(new File(name));
}catch(IOException ex)
{
valid=false;
System.out.println("The file" + name + "could not be opened, it is not an image");
}
Run Code Online (Sandbox Code Playgroud)
当文件(引用name)不是图像有效时未设置为false,为什么会发生这种情况?我应该更改例外的类型吗?我已经阅读了关于try-catch的内容,据我所知,如果ImageIO.read失败并且异常的类型是IOException,将执行catch块的内容.那为什么不执行呢?
有没有其他方法来检查文件是否是图像?
我正在使用JAI并创建一个文件:
PlanarImage img = JAI.create("fileload", myFilename);
Run Code Online (Sandbox Code Playgroud)
如果文件存在,我在该行之前检查.但是我如何检查文件是.bmp还是.tiff或图像文件?
有人知道吗?
我正在尝试确定存储在Android设备上的Mime/Media类型的文件(实际上是我正在使用模拟器的虚拟设备).我发现这个资源从一个推荐的文件中获取MIME类型javax.activation.MimetypesFileTypeMap,但是当我运行以下代码时,我会得到application/octet-stream所有文件类型:
MimetypesFileTypeMap map = new MimetypesFileTypeMap();
File dir = Environment.getExternalStorageDirectory();
File[] files = dir.listFiles();
String mimeType;
for( int i = 0; i < files.length; ++i ) {
if( files[i].isDirectory() == false ) {
mimeType = map.getContentType(files[i]);
if( mimeType.toLowerCase().equals("application/octet-stream") ) {
Log.d("mytag",
String.format( "Unable to determine the mime type of file %s.",
files[i].getName()));
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经使用具有以下扩展名的文件对其进行了测试:jpg,txt,doc,xslx和pdf,它们都返回相同的内容.我有什么需要做的来初始化地图吗?这个库可以找不到Android上支持的mime类型列表吗?有没有更好的方法来获取Android上的mime类型的文件?
给定一个文件路径,知道该文件是否是Java(Android)中的图像(任何类型)的最简单方法是什么?谢谢
我需要从用户输入文件中获取文件,该文件应仅为指定类型的图像。仅JPEGs。其他文件必须被拒绝。
所以我对文件实施了朴素的基本检查
fileName.toLowerCase().endsWith(".jpg") || fileName.toLowerCase().endsWith(".jpeg")
Run Code Online (Sandbox Code Playgroud)
因此,如果用户上传了file.png,则该文件将被拒绝。但是后来用户意识到,如果他们只是将file.png重命名为file.jpg,那么该文件将被上传。
是否可以仅JAVA SDK使用外部jar 来检测提供的文件是否为给定类型的有效图像?(请注意,我仍在使用JDK6)。谢谢。
我正在学习用 Java 编程,现在我正在尝试在 Swing 中制作一个带有 GUI 的程序,这将使用给定目录中的图像制作幻灯片。现在,我的问题是你能检查一个文件是否真的是一个图像吗?
我说的是一个文件,它不仅具有正确的扩展名,例如 .jpg 或 .png,而且还包含......我猜可以解释为图像的内容?我在这里的措辞可能不准确。
我知道我要求很高,但如果有人能回答我会很感激。(不是Test if a file is an image file的副本,因为我认为那里的作者是指扩展名本身)。