複数のファイルをダウンロードする

ホーム > HDアプリケーション > 例01

説明

DEXTUploadX5 HDアプリケーションは複数のファイルをダウンロードするためのセットアップベースのプログラムです。

HDアプリケーションはブラウザプラグインではなく、exeファイル(macOSではpkg)として提供されます。そのため、クライアントユーザーはコンポーネントをダウンロードし、手動でインストールする必要があります。

ローカルにインストールされない場合、dextuploadx5-configuration.jsファイルに設定されたhdDownloadURLの場所にページが移動します。 したがって、コンポーネントはターゲット ページからダウンロードされるように設定する必要があります。 インストール後にダウンロード ページに移動し続けると、HD アプリケーションの使用がブロックされる場合があります。 HDアプリケーションがブロックされた場合、その問題がアンチウイルスなどのセキュリティソリューションによって引き起こされていないかどうかを確認する必要があります。

ファイルをダウンロードするには、downloadToHD関数を使用する。ターゲットはurlプロパティの値を持つ仮想ファイルでなければならない。

var dx = dx5.get("component-id");

// urlプロパティにダウンロードウェブパスが存在する必要があります。
dx.addVirtualFile({ ... name: "bridge_509147.jpg", url: "http://.../bridge_509147.jpg" });

// 一意なIDで仮想ファイルをダウンロードする。
dx.downloadByIdToHD("the unique ID of the virtual file");

// フラグの値に従ってダウンロードを実行する。
// AUTO:  仮想ファイルをダウンロードする。
// SELECTED: 選択された仮想ファイルをダウンロードします。
// CHECKED: チェックした仮想ファイルをダウンロードします。
dx.downloadToHD("SELECTED");

ダウンロードしたいアドレスに多言語文字が含まれている場合、サーバーがTomcatの場合はダウンロード対象が見つからずに404レスポンスコードを返すことがあります。Tomcatの場合、URLはISO-8859-1にデコードされるので、TomcatのURLエンコード方法を変更する必要があります。

# server.xml
<Connector connectionTimeout="20000" 
	port="8080" protocol="HTTP/1.1" 
	redirectPort="8443" 
	URIEncoding="UTF-8"/>

Apacheへの接続にmod_jkを使用している場合は、mod_jkにも同じものを適用する必要がある。

# server.xml
<Connector port="8009" protocol="AJP/1.3" 
	redirectPort="8443"
	URIEncoding="UTF-8"/>

ダウンロードパスを手動で設定することができます。文字列として直接パスを設定するには、バックスラッシュを2つ使用し、macOSではスラッシュで区切ります。インプットボックスで入力する場合は、バックスラッシュを1つだけ使用します(macOSではスラッシュを1つ使用します)。

特定の場所をキーワードとして指定できます。 <home>: ユーザのホームフォルダ、 <doc>: ユーザードキュメントフォルダ、 <desktop>: ユーザーのデスクトップフォルダ、 <Downloads>: ダウンロードフォルダ(バージョン2.5.0.0からサポート)、特定のキーワードを入力した後の追加パス、および置くサブフォルダを指定できます。

一般的に、すべての仮想ファイルがダウンロード対象となり、仮想ファイルのurlプロパティがダウンロード対象となります。