www.dextsolution.com
DEXTUPLOAD
X5
menu toggle레퍼런스 > component

addVirtualFile

  • 1.0.0.0 이상

  • 설명

    가상 파일을 등록한다.

    가상 파일이란 사용자 로컬 PC에 존재하지 않으며, 실체가 없는 가상의 파일을 말한다. 일반적으로 가상 파일은 이미 업로드한 파일에 대한 정보를 남기는 용도로 사용하곤 한다. 즉 서버에 존재하는 파일이라는 표시로써 사용된다. 실제로 로컬에 존재하지 않는 파일이므로, 파일 업로드 대상이 아니다.

    가상 파일을 등록하려면 addVirtualFile 함수를 사용하거나 addVirtualFileList 함수를 사용한다.

    function onDX5Created(id) {
        // 가상 파일은 일반적으로 컴포넌트가 생성된 시점에 등록을 한다.
        var dx = dx5.get(id);
        // 개별로 등록할 때
        dx.addVirtualFile({ vindex: "IDX0001", name: "가상파일.txt", size: 12345 });
        dx.addVirtualFile({ vindex: "IDX0002", name: "잠긴-가상파일.txt", size: 45678, lock: true });
        dx.addVirtualFile({ vindex: "IDX0003", name: "코스모스.jpg", size: 195779 });
        dx.addVirtualFile({ vindex: "IDX0004", name: "장미.jpg", size: 83560, meta: { type: "flower", color: "red" } });
        // 여러 개를 한 번에 등록할 때
        dx.addVirtualFileList([
            { vindex: "IDX0004", name: "가상파일.txt", size: 12345 },
            { vindex: "IDX0005", name: "잠긴-가상파일.txt", size: 45678, lock: true },
            { vindex: "IDX0006", name: "코스모스.jpg", size: 195779 }
        ]);
    }

    가상 파일이 등록될 때는 onDX5BeforeItemsAdd, onDX5BeforeItemAdding, onDX5ItemsAdded 콜백 함수를 호출하지 않는다.

  • 형식

    component.addVirtualFile(vf);
  • 파라미터 객체의 속성

    이름 버전 형식 설명
    vindex String 가상 파일을 구분 짓는 유일 키로써, 어떤 형식이라도 상관이 없지만, 중복되지 않아야 한다.
    name String 가상 파일의 이름이다.
    size Number 파일의 크기(바이트 단위)이다.
    lock Boolean

    가상 파일이 잠겨있는지 여부를 설정한다.

    값이 true이면 삭제가 되지 않는다.

    middlePath String

    폴더 구조 다운로드에 사용되는 속성으로, 가상 파일이 속한 폴더 이름이다.

    HD를 이용하여 폴더 구조 다운로드할 때 사용한다.

    ex) aaa/bbb

    url, downUrl, openUrl, thumbUrl, thumb String

    가상 파일이 가리키는 실제 웹 리소스 경로이다. 스키마를 포함한 전체 경로로 설정해야 한다.

    파일 다운로드를 위해서 url(1.4.1.0 이후부터), downUrl 속성을 사용하고, 파일 열기를 위해서 openUrl을, 섬네일 처리를 하기 위해 thumbUrl(3.9.0.0 이후부터), thumb 속성을 사용한다.

    checked 1.3.2.0 String

    체크된 상태인지를 설정한다.

    true이면 체크가 된 상태로 등록된다.

    eventUriStart 2.0.0.0 String

    HD 응용프로그램을 사용하여 파일 다운로드를 이용할 때 사용되는 이벤트 주소를 설정한다.

    이벤트 주소는 웹 주소로써, 스키마(http, https)가 포함된 전체 URL이어야 한다.

    HD 응용프로그램은 항목을 다운로드할 때, 이 속성이 설정되어 있으면 다운로드를 수행하기 전에 해당 주소로 GET 요청을 보낸다.

    eventUriStop 2.0.0.0 String

    HD 응용프로그램을 사용하여 파일 다운로드를 이용할 때 사용되는 이벤트 주소를 설정한다.

    이벤트 주소는 웹 주소로써, 스키마(http, https)가 포함된 전체 URL이어야 한다.

    HD 응용프로그램은 항목을 다운로드할 때, 이 속성이 설정되어 있으면 다운로드가 중지되면 해당 주소로 GET 요청을 보낸다. (오류로 인한 중지가 아니라, 사용자 액션에 의한 중지를 의미한다.)

    eventUriEnd 2.0.0.0 String

    HD 응용프로그램을 사용하여 파일 다운로드를 이용할 때 사용되는 이벤트 주소를 설정한다.

    이벤트 주소는 웹 주소로써, 스키마(http, https)가 포함된 전체 URL이어야 한다.

    HD 응용프로그램은 항목을 다운로드할 때, 이 속성이 설정되어 있으면 다운로드가 완료되면 해당 주소로 GET 요청을 보낸다.

    chunkSize 2.0.0.0 Number

    HD 응용프로그램을 사용하여 파일 다운로드를 이용할 때 파일이 분할 되는 크기를 설정한다.

    HD 응용프로그램을 파일을 다운로드할 때, 한 요청으로 파일을 한 번에 다운로드하지 않고, 주어진 크기만큼 나눠서 다운로드를 수행한다. 파일을 나눠서 다운로드를 하면 파일 다운로드 시간은 조금 더 오래 걸릴 수 있지만, 서버를 좀 더 안정적으로 운영할 수 있다. 다운로드할 파일의 크기가 크다면 해당 파일이 다운로드 완료될 때까지 대역폭을 붙잡고 있기 때문에, 성능상 문제가 발생할 수 있다. 이런 경우에 파일을 분할하면, 서버로의 다운로드 요청이 나눠지기 때문에, 일부 사용자가 서버 리소스를 장시간 점유하는 현상이 줄어들게 된다.

    지정이 되어 있지 않으면 -1 값으로 설정이 되며, -1 또는 0인 경우에는 파일을 분할하지 않고 하나의 요청으로 다 받는다. 더불어 분할 크기는 MB 단위로만 지정해야 한다.

    hdTitle 2.1.2.0 String

    HD 응용프로그램을 사용하여 파일 다운로드를 이용할 때 윈도우 타이틀에 출력되는 텍스트를 나타낸다.

    파일이 다운로드 될 때, HD 응용프로그램의 윈도우 타이틀 영역에 텍스트와 파일 이름이 출력되는데, 지정된 값이 없다면 제품 이름과 버전이 출력된다.

    meta 3.2.0.0 Object

    가상 파일을 등록하는 시점에 메타 데이터를 설정하고 싶을 때 사용한다. 해당 프로퍼티는 GRID 스타일에서 사용자 정의 열 값으로 사용할 수 있다.

    ex) meta: { type: "A", color: "B" }

addVirtualFileList

  • 1.0.0.0 이상

  • 설명

    배열을 사용하여 한 번에 가상 파일들을 등록한다.

    가상 파일이란 사용자 로컬 PC에 존재하지 않으며, 실체가 없는 가상의 파일을 말한다.

    일반적으로 가상 파일은 이미 업로드한 파일에 대한 정보를 남기는 용도로 사용하곤 한다. 즉 서버에 존재하는 파일이라는 표시로써 사용된다.

    실제로 로컬에 존재하지 않는 파일이므로, 파일 업로드 대상이 아니다.

    가상 파일을 등록하려면 addVirtualFile 함수를 사용하거나 addVirtualFileList 함수를 사용한다.

    function onDX5Created(id) {
      // 가상 파일은 일반적으로 컴포넌트가 생성된 시점에 등록을 한다.
      var dx = dx5.get(id);
      // 개별로 등록할 때
      dx.addVirtualFile({ vindex: "IDX0001", name: "가상파일.txt", size: 12345 });
      dx.addVirtualFile({ vindex: "IDX0002", name: "잠긴-가상파일.txt", size: 45678, lock: true });
      dx.addVirtualFile({ vindex: "IDX0003", name: "코스모스.jpg", size: 195779 });
      // 여러 개를 한 번에 등록할 때
      dx.addVirtualFileList([
        { vindex: "IDX0004", name: "가상파일.txt", size: 12345 },
        { vindex: "IDX0005", name: "잠긴-가상파일.txt", size: 45678, lock: true },
        { vindex: "IDX0006", name: "코스모스.jpg", size: 195779 }
      ]);
    }

    가상 파일이 등록될 때는 onDX5BeforeItemsAdd, onDX5BeforeItemAdding, onDX5ItemsAdded 콜백 함수를 호출하지 않는다.

  • 형식

    component.addVirtualFileList(vfs);
  • 파라미터

    이름 지원 형식 설명
    vfs Array 등록할 가상 파일 정보를 갖는 json 객체의 배열, addVirtualFile 메소드를 참고한다.

openFileDialog

  • 1.0.0.0 버전 이상

  • 설명

    업로드할 파일을 추가하기 위한 파일 선택 다이얼로그 창을 띄웁니다.

    DEXTUploadX5는 컴포넌트 자체에 파일을 추가하는 버튼이나 GUI 요소가 없다.

    대신 스크립트를 사용하여 파일을 추가할 수 있도록 함수를 제공하고 있다.

    파일 선택 다이얼로그 창에서 선택한 대상이 있다면 창이 닫힌 후, true 값을 반환한다.

    <button type="button" onclick="addFiles();">버튼</button>
    <script>
    function addFiles() {
      var dx = dx5.get("component-id");
      dx.openFileDialog();
    }
    </script>

    openFileDialog 함수의 반환 값을 처리하는 코드가 없다면, 컴포넌트 생성 시점에 btnFile 속성 값을 사용하여 자동으로 바인딩하여 사용할 수 있다.

    <button id="btn-add-files" type="button">버튼</button>
    <script>
      dx5.create({
        ...,
        // 파일 추가 기능이 자동으로 연결된다.
        btnFile: "btn-add-files"
      });
    </script>
  • 형식

    component.openFileDialog();

openFolderDialog

  • 2.6.0.0 이상

  • 설명

    업로드할 파일 및 폴더 구조를 추가하기 위한 폴더 선택 다이얼로그 창을 실행한다.

    DEXTUploadX5는 컴포넌트 자체에 폴더를 추가하는 버튼이나 GUI 요소가 없다. 대신 스크립트를 사용하여 폴더를 추가할 수 있도록 함수를 제공하고 있다.

    <button type="button" onclick="addFolder();">버튼</button>
    <script>
    function addFolder() {
        var dx = dx4.get("component-id");
        dx.openFolderDialog();
    }
    </script>

    컴포넌트 생성 시점에 btnFolder 속성 값을 사용하여 버튼과 바인딩할 수 있다.

    <button id="btn-add-folder" type="button">버튼</button>
    <script>
        dx4.create({
            ...,
            // 폴더 추가 기능이 자동으로 연결된다.
            btnFolder: "btn-add-folder"
        });
    </script>
  • 형식

    component.openFolderDialog();