파일 경로가 주어지면 해당 파일이 Java (Android)의 이미지인지 여부를 가장 쉽게 알 수있는 방법은 무엇입니까? 감사합니다.파일이 Java/Android의 이미지인지 확인하십시오.
답변
이렇게하는 데 도움이되는 외부 도구가 있습니다. JMimeMagic 및 JMagick을 확인하십시오. ImageIO
클래스를 사용하여 파일을 읽으려고 할 수도 있지만 비용이 많이 소요될 수 있으며 완전히 안전하지는 않습니다.
BufferedImage image = ImageIO.read(new FileInputStream(new File(..._)));
이 질문은 몇 번 정도 질문되었습니다. 동일한 주제에 이러한 추가 스레드를 참조하십시오
How to check a uploaded file whether it is a image or other file?
public static boolean isImage(File file) {
if (file == null || !file.exists()) {
return false;
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(file.getPath(), options);
return options.outWidth != -1 && options.outHeight != -1;
}
어떻게 작동하는지 설명해 주시겠습니까? – Micro
@MicroR,'options.inJustDecodeBounds = true;를 설정하면'BitmapFactory'가 전체 이미지의 데이터를 디코딩하지 않고 이미지의 메타 데이터 만 디코딩합니다. file이'BitmapFactory'보다 유효한 이미지라면 메타 데이터를 파싱하고'options.outWidth'와'options.outHeight'를 채 웁니다. 이 필드에는 이미지의 폭과 높이가 포함됩니다. 디코딩 오류가 발생하면 필드에 -1이 포함됩니다. docs http://developer.android.com/intl/ru/reference/android/graphics/BitmapFactory.Options.html#outWidth를 참조하십시오. – danik
메모리와 많은면에서 * 이것은이 코드 세그먼트를 아주 아주 나쁜 *을
public static boolean isViewableImage(String name) {
String suffix = name.substring(name.lastIndexOf('.') + 1).toLowerCase();
if (suffix.length() == 0)
return false;
if (suffix.equals("svg"))
// don't support svg preview
return false;
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(suffix);
if (mime == null)
return false;
return mime.contains("image");
}
- 1. 업로드 된 파일이 PHP의 이미지인지 확인하십시오
- 2. getimagesize()를 사용하여 파일이 이미지인지 여부를 확인하십시오.
- 3. DIV의 내용이 이미지인지 확인하십시오.
- 4. 파일이 perl의 이미지인지 확인하는 방법
- 5. get_headers를 사용하여 원격 파일이 이미지인지 확인하는 방법
- 6. 클립 보드에 복사 된 파일이 이미지인지 확인합니다.
- 7. PNG 이미지 파일이 투명 이미지인지 여부를 감지합니까?
- 8. fileupload에서 이미지의 크기를 확인하고 선택한 파일이 이미지인지 확인하는 방법
- 9. FreeASPUpload에 파일이 있는지 확인하십시오.
- 10. C 파일이 존재하는지 확인하십시오.
- 11. 파일이 열려 있는지 확인하십시오.
- 12. FTP : 파일이 닫혔는지 확인하십시오.
- 13. 텍스트 파일이 있는지 확인하십시오.
- 14. 파일이 오늘 작성되었는지 확인하십시오.
- 15. 파일이 PHP에 존재하는지 확인하십시오.
- 16. 파일이 수정되지 않았는지 확인하십시오.
- 17. 파일이 Java로 복사되었는지 확인하십시오.
- 18. 원격 파일이 변경되었는지 확인하십시오.
- 19. 파일이 비어 있는지 확인하십시오.
- 20. 루트에서 파일이 존재하는지 확인하십시오.
- 21. 디렉토리의 파일이 수정되었는지 확인하십시오.
- 22. 앨범에 파일이 있는지 확인하십시오.
- 23. 파일이 동시에 실행되는지 확인하십시오.
- 24. php 버전 5.2.9에서 파일이 이미지인지 비디오 유형인지 확인하는 방법은 무엇입니까?
- 25. 파일의 종류가 나는 파일이 이미지인지 아닌지 확인하기 위해이 기능이
- 26. URL이 이미지인지 확인하는 방법은 무엇입니까?
- 27. 파일을 작성하고 파일이 있는지 확인하십시오.
- 28. CMake 로컬 파일이 존재하는지 확인하십시오.
- 29. 파일이 GWT를 사용하여 수정되었는지 확인하십시오.
- 30. xml 파일이 메모리에 존재하는지 확인하십시오.
시도 이미지가 확인됩니다. 이것은 쉽게 발생할 수 있습니다 ** OutOfMemoryError ** –
이것은 여러 파일의 경우에는 좋은 접근 방법이 아닙니다. –