www.dextsolution.com
DEXTUPLOAD
X5
menu toggle제품설명 > 알려진 문제점

알려진 문제점

ESVG-00018

ESVG-00018 오류 코드는 파일이 업로드되는 과정에서 네트워크 문제로 발생하는 현상을 나타낸다. 그러므로 ESVG-00018 오류 코드만으로 발생하는 문제의 원인이 무엇인지 밝혀내기 어렵다.

일반적으로 작은 데이터를 서버로 전송했을 때, HTTP 오류 코드를 서버에서 클라이언트로 보냈다면 컴포넌트는 서버 오류를 받아 출력(응답 대기 중 상태이므로)할 수 있다. 그러나, MB 단위 이상의 크기를 갖는 파일 또는 데이터를 POST로 보내는 중에, 서버가 HTTP 오류 코드를 클라이언트로 보냈다면, 클라이언트는 서버 오류코드를 받지 못하고 소켓 연결이 끓기는 시스템 오류로만 인식하게 된다. 이는 앞선 상황과 달리 데이터를 서버로 전송하는 과정이 종료되기 전에 발생한 상황이라, 응답 데이터를 받지 못하므로 소켓 수준의 오류 메시지만 확인이 가능한 것이다. 물론 이런 현상은 모든 서버와의 연결에서 일관성이 있게 나타는 점은 아니다.

ESVG-00018 오류 코드가 발생한다면 해당 요청이 발생할 때, 서버 측에서 어떤 문제(4XX, 5XX HTTP 오류 발생)가 있는지 확인하는 것이 가장 우선 순위이다. 만일 WAS 수준에서 문제 발생이 없다면, 타 시스템에 의하여 차단된 부분이 있는지 조사를 해보아야 한다.

오류가 발생하면, 다음 조건을 만족하는 파일을 재 업로드하여 그 결과의 차이를 가지고 현 문제점을 파악할 수 있다.

  • 공백없이 영문 혹은 숫자로만 구성된 이름을 갖는 파일(확장자가 반드시 포함)
  • 서버에서 필터링 빈도 수가 낮은 일반적인 JPG, PNG 이미지 파일
  • 크기가 작은 파일(10KB 미만)
Node.js 환경 미지원

DEXTUploadX5는 Node.js + Express 환경에서 파일 업로드를 하면 간헐적으로 브라우저가 프리징(freezing)되는거나, 타임 아웃이 발생하는 문제가 발생하며, 이에 대한 원인은 아직 찾지 못하고 있다. 그런 이유로 해당 현상이 해결되기 전까지는 공식적으로 Node.js 지원을 하지 않는다.

CSS display:none 문제

컴포넌트를 포함하는 컨테이너 개체의 CSS 속성이 display:none인 경우, 여러 가지 문제점이 발생할 수 있다.

크롬, 오페라, 사파리를 사용하는 경우에 object 개체가 로드한 콘텐트가 display 속성 값에 따라, 다시 제거가 되고 다시 로드가 되는 현상이 있다.

이는 버그라고 말할 수 없지만, 파이어폭스 브라우저와 동작하는 바가 다르기 때문에, 올바른 동작 방식이라 정의하기도 모호한 상황이다.

display 속성이 none이 되는 순간, 로드되었던 DEXTUploadX5 멀티 컴포넌트가 제거가 되면서, 개체가 가지고 있던 모든 상태들도 다 사라지게 되며, 연결되었던 이벤트에도 문제가 발생한다.

display 속성을 변경하여 다시 보여진다 하더라도, 이미 제거된 상태 값들은 존재하지 않기 때문에, 비어 있는 목록이 보이게 되며, 앞서 설정했던 상태 또한 모두 초기 상태로 돌아간다.

해당 현상은 display 속성 변동과 상관없이 일관적으로 동작하도록 할 방법은 현재 없다. 다만 display가 아닌 다른 방법을 사용하여 화면 구성을 해야만 한다.

업로드 영역을 숨기기 위해서는 display 속성을 사용하지 말고, CSS의 width, height 속성을 0으로 설정한다. 다시금 업로드 영역을 보여 주고자 할 때는 적절한 width, height 값을 지정하면 된다.

HEAD 요청 문제

DEXTUploadX5 제품은 서버로 HEAD 요청을 하는 과정이 존재한다.

브라우저가 자체적으로 SVG 파일에 대한 MIME 형식을 묻거나, 파일을 다운로드 하기 위해서 파일 존재 유무를 물을 때도 사용한다.

그러므로 서버에서 HEAD 요청을 제한하게 되면, 컴포넌트를 사용하기 어렵다.

Private Network Access 스펙에 따른 HD 응용프로그램과 통신 실패 현상

Private Network Access는 보안이 적용되지 않은 외부 사이트에서 사설망으로의 접근을 제한하는 내용을 나타낸다. http로 운영되는 웹 응용프로그램에서 localhost 접근이 제한되기 때문에, HD 응용프로그램과 통신을 할 때에도 영향을 받는다.

구글 크롬(마이크로소프트 Edge, Apple Safari) 브라우저는 'Private Network Access' 스펙을 2022년을 목표로 점진적으로 반영하고 있다.

DEXTUploadX5에서 HD 응용프로그램을 사용할 때, https 환경에서 사용하는 것은 문제가 되지 않지만, http 환경에서는 HD 응용프로그램과 통신이 되지 않기 때문에 HD 프로그램 설치 페이지 팝업이 계속 뜨는 문제가 발생한다. (localhost에서 동작하는 웹 응용프로그램의 경우에는 기존처럼 올바르게 동작한다.)