Skip to content

Java에서 업로드된 파일의 MimeType을 체크하는 유틸리티

Notifications You must be signed in to change notification settings

seccoding/MimeTypeChecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MimeTypeChecker

Java에서 업로드된 파일의 MimeType을 체크하는 유틸리티

사용 방법

MimeTypeChecker-1.1.0.jar를 다운받아 클래스패스에 추가.

  1. Dependency가 모두 포함된 파일입니다.

maven dependency에 MimeTypeChecker-1.1.0-without-dependencies.jar 파일을 추가할 경우

  1. MimeTypeChecker-1.1.0.jar파일을 C:\에 복사합니다.
  2. Maven 명령어를 이용해 .m2 Repository 에 MimeTypeChecker-1.1.0-without-dependencies.jar 를 설치(저장)합니다.
    mvn install:install-file -Dfile=C:\MimeTypeChecker-1.1.0-without-dependencies.jar -DgroupId=io.github.seccoding -DartifactId=MimeTypeChecker -Dversion=1.1.0 -Dpackaging=jar
  3. 본인의 Project/pom.xml 에 dependency를 추가합니다.
    <dependency>
        <groupId>io.github.seccoding</groupId>
        <artifactId>MimeTypeChecker</artifactId>
        <version>1.1.0</version>
    </dependency>

소스코드를 사용할 경우

  1. Clone or Download 를 클릭합니다.
  2. Download ZIP 을 클릭해 소스코드를 다운로드 받습니다.
  3. MimeTypeChecker/pom.xml의 dependencies를 본인의 Project/pom.xml 에 붙혀넣습니다.
  4. MimeTypeChecker/src 이하의 자바코드를 본인의 Project에 붙혀넣습니다.

MimeTypeChecker 사용하기

MimeTypeChecker는 3가지 확장자 체크를 지원합니다.

  1. COMPARE_EXTENSION
    단순히 확장자만 체크합니다. Mimetype은 체크하지 않습니다.
  2. JMIME_MAGIC
    Mimetype을 체크합니다. 업로드된 파일의 Byte를 모두 읽어 처리하기 때문에 속도가 느립니다.
    단, 라이브러리의 용량이 작습니다.
  3. APACHE_TIKA
    Mimetype을 체크합니다. 업로드된 파일의 Mimetype만 체크하기 때문에 속도가 빠릅니다.
    단, 라이브러리의 용량이 큽니다.

import io.github.seccoding.web.mimetype.ExtFilter;
import io.github.seccoding.web.mimetype.ExtensionFilter;
import io.github.seccoding.web.mimetype.ExtensionFilterFactory;
import io.github.seccoding.web.mimetype.MimeType;

public class ExtensionFilterTest {

	public static void main(String[] args) {
		
		ExtensionFilter filter = ExtensionFilterFactory.getFilter(ExtFilter.COMPARE_EXTENSION);
		boolean isPdfFile = filter.doFilter("File.pdf", "pdf");
		System.out.println(isPdfFile);
		
		filter = ExtensionFilterFactory.getFilter(ExtFilter.JMIME_MAGIC);
		isPdfFile = filter.doFilter("File.pdf", MimeType.PDF);
		System.out.println(isPdfFile);
		
		filter = ExtensionFilterFactory.getFilter(ExtFilter.APACHE_TIKA);
		isPdfFile = filter.doFilter("File.pdf", MimeType.PDF);
		System.out.println(isPdfFile);
	}
	
}

About

Java에서 업로드된 파일의 MimeType을 체크하는 유틸리티

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages