www.dextsolution.com
DEXTUPLOAD
X5
menu toggleリファレンス > component

downloadCompressed

  • 1.3.0.0以上

  • 説明

    ファイル圧縮のダウンロードを開始する。

    ファイルを圧縮を担当するサーバーのパスをsetCompressURLメソッドを使用して設定すると、ダウンロードする仮想ファイルを1つのファイルに圧縮してダウンロードする。

    単一/複数ファイルのダウンロードとは異なり、圧縮ダウンロードは圧縮プロセスをサーバーに委任するため、 対象ファイルのダウンロードパスを指定する属性(downUrlまたはurl)の影響を受けません。

    var dx = dx5.get("component-id");
    // 圧縮ダウンロードをする対象はdownUrl属性が不要である。
    // ただし、圧縮処理をするサーバーで圧縮対象を区別するためのvindex属性の値を必ず指定する必要がある。
    // vindexは一種のユニークな文字列値により、仮想ファイルを区別するための唯一の手段である。
    dx.addVirtualFile({ vindex: "IDX0003", name: "bridge_509147.jpg", size: 509147 });
    dx.addVirtualFile({ vindex: "IDX0004", name: "beach_239826.jpg", size: 239826 });
    dx.addVirtualFile({ vindex: "IDX0005", name: "cosmos (empty space) 195779.jpg", size: 195779 });
    // 圧縮処理し、圧縮ファイルのダウンロードパスを返すアドレスを設定する。
    dx.setCompressURL("http://domain/path/service/compress.do");
    // フラグの値に基づいてダウンロードを実行する。
    // AUTO:仮想ファイルをダウンロードする。
    // SELECTED:選択された仮想ファイルをダウンロードする。
    // CHECKED:チェックされた仮想ファイルをダウンロードする。
    dx.downloadCompressed("SELECTED");
    

    コンポーネントの作成時にbtnDownloadCompressedAuto属性の値を使用すると、自動的にバインドして使用することができる。

    <button id="btn-download-compressing" type="button">압축 ダウンロード</button>
    <script>
      dx5.create({
        ...,
        // 圧縮ダウンロード機能が自動的に接続される。
        btnDownloadCompressedAuto: "btn-download-compressing"
      });
    </script>

    btnDownloadCompressedAuto属性のほかに、btnDownloadCompressedChecked、btnDownloadCompressedSelectedを使用することができる。

    DEXTUploadX5マルチモジュールはdownloadCompressedメソッドが呼び出されると、圧縮対象のvindex値をコンマ(、)文字で連結した1つのリストの文字列とし、「DEXTUploadX5_VIndexes」の名前のフォームのデータには、リストの文字列をPOST形式でsubmitする。

    サーバーのWebアプリケーションは、サーバーのパスに要求があったときは、ファイル圧縮をした後、対象のファイルをダウンロードすることができるサーバーのパスを返す必要があります。

    圧縮がサーバーで実行中は、進行ウィンドウが表示されますが、圧縮されたファイルをダウンロードするときは、単一​​のファイルのダウンロードに移行されるので、ダウンロードプロセスの独自の進行状況ウィンドウは提供されない。

  • 形式

    component.downloadCompressed(flag);
  • パラメータ

    名前 サポート 形式 説明
    flag マルチ String "AUTO", "SELECTED", "CHECKED"

getCompressURL

  • 1.3.0.0以上

  • 説明

    ファイル圧縮を処理するサーバーのパスを返します。

  • 形式

    url = component.getCompressURL();
  • リターンタ

    ファイル圧縮を処理するアドレス

setCompressURL

  • 1.3.0.0以上

  • 説明

    ファイル圧縮を処理するサーバーのパスを設定する。

    var dx = dx5.get("component-id");
    // 圧縮ダウンロードをする対象はdownUrl属性が不要である。
    // ただし、圧縮処理をするサーバーで圧縮対象を区別するためのvindex属性の値を必ず指定する必要がある。
    // vindexは一種のユニークな文字列値により、仮想ファイルを区別するための唯一の手段である。
    dx.addVirtualFile({ vindex: "IDX0003", name: "bridge_509147.jpg", size: 509147 });
    dx.addVirtualFile({ vindex: "IDX0004", name: "beach_239826.jpg", size: 239826 });
    dx.addVirtualFile({ vindex: "IDX0005", name: "cosmos (empty space) 195779.jpg", size: 195779 });
    // 圧縮処理し、圧縮ファイルのダウンロードパスを返すアドレスを設定する。
    dx.setCompressURL("http://domain/path/service/compress.do");
    // フラグの値に基づいてダウンロードを実行する。
    // AUTO:仮想ファイルをダウンロードする。
    // SELECTED:選択された仮想ファイルをダウンロードする。
    // CHECKED:チェックされた仮想ファイルをダウンロードする。
    dx.downloadCompressed("SELECTED");
    

    サーバーのWebアプリケーションは、サーバーのパスに要求があったときは、ファイル圧縮をした後、対象のファイルをダウンロードすることができるサーバーのパスを返す必要があります。

  • 形式

    component.setCompressURL(url);
  • パラメータ

    名前 形式 説明
    url String

    ファイル圧縮を処理するアドレス

    アドレスは必ずhttpまたはhttpsで始まる全アドレスの形式でなければならない。

stopCompressWaiting

  • 1.3.0.0以上

  • 説明

    ファイル圧縮要求を停止する。

    DEXTUploadX5は、コンポーネント自体に圧縮要求を停止するためのボタンやGUI要素がない。

    代わりに、スクリプトを使用して停止することができるように関数を提供している。

    <button type="button" onclick="stop('component-id');">停止</button>
    <script>
    function stop(id) {
      dx5.get(id).stopCompressWaiting();
    }
    </script>

    コンポーネントの作成時にbtnStopCompressWaiting属性値を使用して自動的にバインドして使用することができる。

    <button id="btn-stop-compresswaiting" type="button">停止</button>
    <script>
      dx5.create({
        ...,
        // アプチュリクエスト停止機能が自動的に接続される。
        btnStopCompressWaiting: "btn-stop-compresswaiting"
      });
    </script>

    stopCompressWaitingメソッドは、圧縮要求を中止する。圧縮処理が完了した後、ファイルがダウンロードされているプロセスはキャンセルされない。

  • 形式

    component.stopCompressWaiting();

setLimitMultiDownloadSize

  • 1.1.0.0以上

  • 説明

    ダウンロードされたファイルの個々のサイズ制限を設定する。

    バージョン1.1.0.0以降、複数ファイルのダウンロードをサポートしていますが、ブラウザのパフォーマンスの問題により、ダウンロードファイルのサイズに制限を設けています。

    デフォルトは100MBで、ファイルサイズをそれ以上許可するsetLimitMultiDownloadSize関数を使用して、限られたサイズを変更すればよい。

    ただし、この機能はダウンロード可能なサイズを変更するだけで、ブラウザのパフォーマンスに関係なくダウンロードできるわけではない。 HTML5の機能を使って継続的にファイルをダウンロードするには、ダウンロード対象を一時的にメモリにロードします、 動画ファイルなどの大きなファイルは、マルチファイルダウンロードには向いていません。したがって、大容量のダウンロードや継続的なダウンロードなどの機能が必要な場合は、HDアプリケーションを使用することをお勧めします。

    // ダウンロードサイズ制限を300MBに設定する。
    dx.setLimitMultiDownloadSize(1024 * 1024 * 300);
    
  • 形式

    component.setLimitMultiDownloadSize(limit);
  • パラメータ

    名前 形式 説明
    limit Number 限られたダウンロードサイズ(バイト単位)

enableResumingDownload

  • 3.8.0.0以上

  • 説明

    複数のファイルをダウンロードするときに、継続を有効または無効にします。 ファイルのダウンロード中に中断された場合、ダウンロードは中断した時点から再開されます。 ただし、アップロードからのピックアップとは異なり、これはダウンロードをキャンセルするか、ウィンドウを閉じた後に発生します、 ダウンロードを再開すると、ダウンロードは最初から始まります。

    デフォルトはtrueです。サーバーがRangeリクエストを受け付けない場合は、falseに設定することをお勧めします。

    function onDX5Created(id) {
        var dx = dx5.get(id);
        // ダウンロードの再開を無効にします。
        dx.enableResumingDownload(false);
    }

    バージョン3.8.0.0より、ダウンロードの再開機能が実装され、サーバーへのHEADリクエストが強制的に送信されるようになりました。再開機能を無効にしても、HEADリクエストは発生します。

  • 形式

    component.enableResumingDownload(enable);
  • パラメータ

    名前 形式 説明
    enable Boolean trueの場合、ダウンロード再開機能を有効にします。デフォルト値はtrueです。

pauseDownloading

  • 3.8.0.0以上

  • 説明

    複数ファイルのダウンロード操作を一時停止する。

    <button type="button" onclick="pause('component-id');">Pause</button>
    <script>
    function pause(id) {
        dx5.get(id).pauseDownloading();
    }
    </script>

    関数を使用して一時停止できるのは、複数ファイルのダウンロード操作のみです。downloadByIdまたはダウンロードアイコンを使用してターゲットをダウンロードしている場合、pauseDownloading関数を使用しても操作は停止されません。

  • 形式

    component.pauseDownloading();

resumeDownloading

  • 3.8.0.0以上

  • 説明

    一時停止した複数ファイルのダウンロード操作を再開します。

    <button type="button" onclick="resume('component-id');">Resume</button>
    <script>
    function resume(id) {
        dx5.get(id).resumeDownloading();
    }
    </script>

    pauseDownloading メソッドを使用できるのは、pauseDownloading メソッドを使用してダウンロード操作が一時停止された場合、またはエラーによって一時停止された場合のみです。

  • 形式

    component.resumeDownloading();

setDownloadBlockSize

  • 3.8.0.0以上

  • 説明

    複数ファイルダウンロード操作のダウンロード単位サイズを設定する。

    複数ファイルのダウンロード操作を行う時、DEXTUploadX5はファイルをユニットサイズで分割してダウンロードします。ダウンロード単位サイズを大きく設定すると、ダウンロードの反復回数が減り、逆に大きく設定すると、ダウンロードの反復回数が増えます。ファイルを引き継ぐ場合、単位サイズが小さいほど、ダウンロード操作を停止したときに失われるデータが少なくなります。

    // ダウンロードするファイルのサイズを500MBに制限する。
    dx.setLimitMultiDownloadSize(1024 * 1024 * 500);
    
    // ダウンロード単位サイズを10MBに設定する。
    dx.setDownloadBlockSize(1024 * 1024 * 10);
    
    // 複数ファイルのダウンロードを開始する。
    dx.download("AUTO", true);
    
    • ダウンロード・ユニット・サイズは10MBが適切で、現在デフォルトで設定されています。
    • これより小さい単位サイズは、メモリのオーバーヘッドを引き起こす可能性があり、低速ネットワークでのみ推奨されます。
    • サーバーはHEADリクエストを許可しなければなりません。
    • サーバーがRangeリクエストを許可していない場合、ファイルを分割せずに一度に受け取ることになります。
  • 形式

    component.setDownloadBlockSize(size);
  • パラメータ

    名前 形式 説明
    size Number 1KBから1GBまで、デフォルトは10MBです。

isUsingHDWhenSingle

  • 2.0.0.0以上

  • 説明

    HD アプリケーションが単一ファイルのダウンロードに使用されているかどうかを返します。

  • 形式

    using = component.isUsingHDWhenSingle();
  • リターンタ

    単一のファイルのダウンロードをする際にHDアプリケーションを使用するかどうか

setUsingHDWhenSingle

  • 2.0.0.0以上

  • 説明

    単一ファイルダウンロード用のHDアプリケーションを有効または無効にします。

    画面上(GUI)からダウンロードアイコンをクリックしたときに実行される単一のファイルのダウンロードのみになる。downloadByIdメソッドを使用している場合には、設定に関係なく、ブラウザベースのダウンロードが実行される。

    // HDアプリケーションを使用するように設定する。
    dx.setUsingHDWhenSingle(true);
    
  • 形式

    component.setUsingHDWhenSingle(enable);
  • パラメータ

    名前 形式 説明
    enable Boolean trueの場合HDアプリケーションを使用する。デフォルト値はfalseである。

getDownloadTimeInterval

  • 3.10.0.0以上

  • 説明

    ファイルダウンロード操作の間隔を表す値を返します。

  • 形式

    interval = component.getDownloadTimeInterval();
  • リターンタ

    ミリ秒(1/1000)単位の時間間隔値

setDownloadTimeInterval

  • 3.10.0.0以上

  • 説明

    ファイルのダウンロード操作間の時間間隔の値を設定します。

    複数ファイルのダウンロードでは、ファイル数とチャンク数に応じて複数のダウンロード操作が発生し、それぞれ指定した時間値だけ遅延します。

    var dx = dx5.get("component-id");
    dx.setDownloadTimeInterval(1000);
    
  • 形式

    component.setDownloadTimeInterval(interval);
  • パラメータ

    名前 形式 説明
    interval Number

    時間値の単位はミリ秒(1/1000)で、200ミリ秒以下に設定することはできません。

isDownloadHeadRequestEnable

  • 3.10.0.0以上

  • 説明

    ダウンロードのためにサーバに HEAD リクエストを送信するかどうかを返します。

  • 形式

    useHead = component.isDownloadHeadRequestEnable();
  • リターンタ

    true/false

setDownloadHeadRequestEnable

  • 3.10.0.0以上

  • 説明

    サーバーにダウンロードのための HEAD リクエストを送信するかどうかを設定します。

    本製品は事前にHEADリクエストを送信し、ダウンロードするファイルの情報を取得します。サーバーがHEADリクエストを許可していない場合は、falseに設定してください。

    HEADリクエストを行わないと、Continue機能が使えませんし、1つのファイルをダウンロードする際にサーバーエラーをチェックすることが難しくなります。

    var dx = dx5.get("component-id");
    dx.setDownloadHeadRequestEnable(false);
    
  • 形式

    component.setDownloadHeadRequestEnable(enable);
  • パラメータ

    名前 形式 説明
    enable Boolean

    デフォルト値はtrueです。HEADリクエストを無効にするにはfalseに設定してください。

getDownloadMode

  • 4.0.0.0以上

  • 説明

    ダウンロード方式を返します。

  • 形式

    mode = component.getDownloadMode();
  • リターンタ

    'DEFAULT'、'AWSS3'、'NCPOS'、'AZRBSのいずれかが返されます。デフォルトは 'DEFAULT' です。

setDownloadMode

  • 4.0.0.0以上

  • 説明

    ダウンロード方法を設定します。

    • DEFAULT(デフォルト): デフォルトでサポートするダウンロード方式を使用するときに使用します。
    • AWSS3: Amazon S3からファイルをダウンロードする際に使用されます。4.0.0.0以降でサポートされています。
    • NCPOS: NAVER CLOUD PLATFORM Object Storageからファイルをダウンロードする際に使用されます。4.2.0.0以降でサポートされています。
    • AZRBS: Azure Blob Storageからファイルをダウンロードする際に使用されます。4.3.0.0以降でサポートされています。
    const dx = dx5.get(id);
    dx.setDownloadMode("AWSS3");
    
  • 形式

    component.setDownloadMode(mode);
  • パラメータ

    名前 形式 説明
    mode String 'DEFAULT'、'AWSS3'、'NCPOS'、'AZRBS'のいずれかを設定します。デフォルトは'DEFAULT'です。

setAWSS3DownloadConfig

  • 4.0.0.0以上

  • 説明

    Amazon S3からファイルをダウンロードするための設定値を定義します。

    dx.setDownloadMode("AWSS3");
    dx.setAWSS3DownloadConfig({
        type: "NON-SECRET",
        accessKeyId: "ABCD...1234",
        secretAccessKey: "ABCD...1234",
        region: "ap-northeast-2",
        bucket: "abc-bucket"
    });
  • 形式

    component.setAWSS3DownloadConfig(config);
  • パラメータ

    名前 形式 説明
    config Object

    configパラメータオブジェクトは、ダウンロードのための設定値をプロパティとして持っています。

    属性 説明
    type ブラウザでAWS SDKを使用して直接ダウンロードする場合は'NON-SECRET'に設定し、Presigned URLを使用してアップロードする場合は'SECRET'に設定するか、省略します。
    region リージョン(Region)を設定します。 type属性が'NON-SECRET'の場合のみ有効です。
    bucket バケット(Bucket)の名前を設定します。 type 属性が 'NON-SECRET' の場合のみ有効です。
    accessKeyId アクセスキーを設定します。 type 属性が 'NON-SECRET' の場合のみ有効です。(重要なセキュリティ項目)
    secretAccessKey 秘密アクセスキーを設定します。 type 属性が 'NON-SECRET' の場合のみ有効です。(重要なセキュリティ項目)
    chunkSize ファイルを分割する際に使用するチャンクサイズを設定します。デフォルトは10MBで、5MBから100MBまで設定できます。type 属性に関係なく設定可能です。
    makeKey

    手動でキー(key)を作る時に使う関数を設定します。この関数は item パラメータを持ち、文字列キー値を返す必要があります。

    dx.setAWSS3DownloadConfig({
        makeKey: item => {
            return item.name;
        }
    });
    signedURL Presigned URLを生成する機能を担当するアドレスを設定します。 type属性が'SECRET'または省略された場合のみ有効です。
    sdkURL AWS SDKをダウンロードできるアドレスを設定します。デフォルトは 'https://sdk.amazonaws.com/js/aws-sdk-2.1037.0.min.js'です。

setNCPOSDownloadConfig

  • 4.2.0.0以上

  • 説明

    NAVER CLOUD PLATFORM Object Storageからファイルをダウンロードするための設定値を定義します。

    dx.setDownloadMode("NCPOS");
    dx.setNCPOSDownloadConfig({
        type: "NON-SECRET",
        accessKeyId: "ABCD...1234",
        secretAccessKey: "ABCD...1234",
        // kr, us, sg, jp, de
        region: "kr",
        bucket: "abc-bucket"
    });
  • 形式

    component.setNCPOSDownloadConfig(config);
  • パラメータ

    名前 形式 説明
    config Object

    configパラメータオブジェクトは、ダウンロードのための設定値をプロパティとして持っています。

    属性 説明
    type ブラウザでAWS SDKを使用して直接ダウンロードする場合は'NON-SECRET'に設定し、Presigned URLを使用してアップロードする場合は'SECRET'に設定するか、省略します。
    region リージョン(Region)を設定します。 type属性が'NON-SECRET'の場合のみ有効です。
    bucket バケット(Bucket)の名前を設定します。 type 属性が 'NON-SECRET' の場合のみ有効です。
    accessKeyId アクセスキーを設定します。 type 属性が 'NON-SECRET' の場合のみ有効です。(重要なセキュリティ項目)
    secretAccessKey 秘密アクセスキーを設定します。 type 属性が 'NON-SECRET' の場合のみ有効です。(重要なセキュリティ項目)
    chunkSize ファイルを分割する際に使用するチャンクサイズを設定します。デフォルトは10MBで、5MBから100MBまで設定できます。type 属性に関係なく設定可能です。
    makeKey

    手動でキー(key)を作る時に使う関数を設定します。この関数は item パラメータを持ち、文字列キー値を返す必要があります。

    dx.setNCPOSDownloadConfig({
        makeKey: item => {
            return item.name;
        }
    });
    signedURL Presigned URLを生成する機能を担当するアドレスを設定します。 type属性が'SECRET'または省略された場合のみ有効です。
    sdkURL AWS SDKをダウンロードできるアドレスを設定します。デフォルトは 'https://sdk.amazonaws.com/js/aws-sdk-2.1037.0.min.js'です。

setAZRBSDownloadConfig

  • 4.3.0.0以上

  • 説明

    AZURE Blob Storageからファイルをダウンロードするための設定値を定義します。

    dx.setDownloadMode("AZRBS");
    dx.setAZRBSDownloadConfig({
        accountName: "photomanager",
        containerName: "photos",
        sasDownloadURL: "https://example.com/get-download-sastoken.ashx"
    });
  • 形式

    component.setAZRBSDownloadConfig(config);
  • パラメータ

    名前 形式 説明
    config Object

    configパラメータオブジェクトは、ダウンロードのための設定値をプロパティとして持っています。

    属性 説明
    accountName Azure Blob Storage アカウント名を設定します。
    containerName Azure Blob Storage コンテナ名を設定します。
    chunkSize ファイルを分割する際に使用するチャンクサイズを設定します。デフォルト値は10MBで、5MBから100MBまで設定可能です。type属性に関係なく設定可能です。
    makeKey

    手動でキー(key = blob 名)を作成する際に使用する関数を設定します。関数は item パラメーターを持ち、文字列のキー値を返す必要があります。

    dx.setAZRBSUploadConfig({
        makeKey: item => {
            return item.name;
        }
    });
    sasDownloadURL Blob のブロックダウンロード用の共有アクセストークンを取得する URL を設定します。