|
1 | 1 | # MimeTypeChecker
|
2 | 2 | Java에서 업로드된 파일의 MimeType을 체크하는 유틸리티
|
| 3 | + |
| 4 | +## 사용 방법 |
| 5 | +### maven dependency에 MimeTypeChecker-1.0.0.jar 파일을 추가할 경우 |
| 6 | +1. MimeTypeChecker-1.0.0.jar파일을 C:\에 복사합니다. |
| 7 | +1. Maven 명령어를 이용해 .m2 Repository 에 MimeTypeChecker-1.0.0.jar 를 설치(저장)합니다. |
| 8 | +1. <pre>mvn install:install-file -Dfile=C:\MimeTypeChecker-1.0.0.jar -DgroupId=io.github.seccoding -DartifactId=MimeTypeChecker -Dversion=1.0.0 -Dpackaging=jar</pre> |
| 9 | +1. 본인의 Project/pom.xml 에 dependency를 추가합니다. |
| 10 | +1. <pre> |
| 11 | + <dependency> |
| 12 | + <groupId>io.github.seccoding</groupId> |
| 13 | + <artifactId>MimeTypeChecker</artifactId> |
| 14 | + <version>1.0.0</version> |
| 15 | + </dependency> |
| 16 | +</pre> |
| 17 | + |
| 18 | +### 소스코드를 사용할 경우 |
| 19 | +1. Clone or Download 를 클릭합니다. |
| 20 | +1. Download ZIP 을 클릭해 소스코드를 다운로드 받습니다. |
| 21 | +1. MimeTypeChecker/pom.xml의 dependencies를 본인의 Project/pom.xml 에 붙혀넣습니다. |
| 22 | +1. MimeTypeChecker/src 이하의 자바코드를 본인의 Project에 붙혀넣습니다. |
| 23 | +--- |
| 24 | +## MimeTypeChecker 사용하기 |
| 25 | +### MimeTypeChecker는 3가지 확장자 체크를 지원합니다. |
| 26 | +1. COMPARE_EXTENSION |
| 27 | +1. <pre>단순히 확장자만 체크합니다. Mimetype은 체크하지 않습니다.</pre> |
| 28 | +1. JMIME_MAGIC |
| 29 | +1. <pre>Mimetype을 체크합니다. 업로드된 파일의 Byte를 모두 읽어 처리하기 때문에 속도가 느립니다. |
| 30 | +단, 라이브러리의 용량이 작습니다.</pre> |
| 31 | +1. APACHE_TIKA |
| 32 | +1. <pre>Mimetype을 체크합니다. 업로드된 파일의 Mimetype만 체크하기 때문에 속도가 빠릅니다. |
| 33 | +단, 라이브러리의 용량이 큽니다.</pre> |
| 34 | + |
| 35 | +<pre> |
| 36 | +import io.github.seccoding.web.mimetype.ExtensionFilterFactory; |
| 37 | +import io.github.seccoding.web.mimetype.ExtFilter; |
| 38 | + |
| 39 | +public class ExtensionFilterTest { |
| 40 | + |
| 41 | + public static void main(String[] args) { |
| 42 | + |
| 43 | + ExtensionFilter filter = ExtensionFilterFactory.getFilter(ExtFilter.COMPARE_EXTENSION); |
| 44 | + boolean isWrite = filter.doFilter("D:\\해썸\\HAESOME_160114.pdf", "pdf"); |
| 45 | + System.out.println(isWrite); |
| 46 | + |
| 47 | + filter = ExtensionFilterFactory.getFilter(ExtFilter.JMIME_MAGIC); |
| 48 | + isWrite = filter.doFilter("D:\\해썸\\HAESOME_160114.pdf", "application/pdf"); |
| 49 | + System.out.println(isWrite); |
| 50 | + |
| 51 | + filter = ExtensionFilterFactory.getFilter(ExtFilter.APACHE_TIKA); |
| 52 | + isWrite = filter.doFilter("D:\\해썸\\HAESOME_160114.pdf", "application/pdf"); |
| 53 | + System.out.println(isWrite); |
| 54 | + } |
| 55 | + |
| 56 | +} |
| 57 | +</pre> |
0 commit comments