무결성 검사 지원
DEXTUploadX5 3.4.0.0 버전부터, 제품은 업로드하는 파일에 대한 무결성 검사를 지원하기 위한 해시 생성 기능을 제공한다.
무결성 검사를 하도록 설정을 하면, 컴포넌트에서 파일을 업로드할 때마다 파일에 대한 해시 값을 생성하며, 생성된 해시 값은 파일이 업로드될 때, 함께 서버로 전송된다. 서버 컴포넌트에서는 업로드된 파일의 정보를 기반으로 해시 값을 생성하고, 이 해시 값이 클라이언트에서 전송한 해시 값과 일치하는지 검사를 하여, 원본 파일과 동일성을 결정한다. 만약에 두 값이 다르다면, 서버 컴포넌트에서는 오류로 처리할 것이다.
다음은 유의 사항이다.
무결성 검사 기능은 DEXTUploadX5 3.4.0.0 이상만 지원한다.
무결성 검사 기능은 자사 서버 컴포넌트 제품(DEXTUploadNJ 2.6.0 이상)과 연동을 해야만 사용할 수 있다.
무결성 검사 기능은 대용량 파일 업로드 모드('EXTS')에서만 동작한다.
해시 값을 생성하는 과정이 존재하기 때문에 업로드 시간이 늘어난다.
- DEXTUploadX5 무결성 검사 설정 방법
-
다음은 DEXTUploadX5 설정 예시이다.
function onDX5Created(id) { var dx = dx5.get(id); ... // 업로드 방식을 대용량으로 설정한다. dx.setUploadMode("EXTS"); // 무결성 검사를 지원하도록 설정한다. dx.setChecksumEnable(true); } - DEXTUploadNJ 서버 컴포넌트 제품을 사용한 서버 측 설정
-
대용량 파일 업로드 모드를 사용하기 때문에, ExtensionFileUploadFilter의 checksum 파라미터 값을 true로 설정하면 된다. DD(web.xml) 설정 외에 개발자가 따로 추가하는 코드는 없다.
<filter> <filter-name>extensionFileUploadFilter</filter-name> <filter-class>devpia.dextuploadnj.support.common.ExtensionFileUploadFilter</filter-class> ... <!-- checksumEnable 파라미터 값을 true로 설정하면 무결성 검사를 수행한다. --> <init-param> <param-name>checksumEnable</param-name> <param-value>true</param-value> </init-param> ... </filter> <filter-mapping> <filter-name>extensionFileUploadFilter</filter-name> ... </filter-mapping> - DEXTUploadNJ 서버 컴포넌트 제품을 사용한 서버 측 처리(Spring Framework)
-
DEXTUploadNJ 2.6.0 이후부터는 ExtensionFileUploadFilter 대신에 DEXTUploadNJSpringExtensionUploadFilter를 사용할 수 있으며, 무결성 기능을 지원하기 위한 설정 방법은 동일하다.
<filter> <filter-name>extensionFileUploadFilter</filter-name> <filter-class>devpia.dextuploadnj.support.spring.DEXTUploadNJSpringExtensionUploadFilter</filter-class> ... <init-param> <param-name>checksumEnable</param-name> <param-value>true</param-value> </init-param> ... </filter> <filter-mapping> <filter-name>extensionFileUploadFilter</filter-name> ... </filter-mapping>DEXTUploadNJSpringExtensionUploadFilter를 사용한 설정은 Spring 환경에서만 유효하다. JSP/Servlet 환경에서 DEXTUploadNJSpringExtensionUploadFilter를 사용하여 필터 설정을 했다면, 오류가 발생할 수 있다.