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

基本的な例 > 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"/>

mod_jk を使って Apache に接続している場合は、mod_jk にも同じものを適用してください。

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

各ユーザに同じパスでダウンロードさせたいときに使ってください。文字列として直接パスを設定するには、バックスラッシュ(∕)を2つ使い、macOSではスラッシュ(/)で区切ります。input-boxを入力するときは、バックスラッシュ(∕)を1つだけ使います(macOSではスラッシュ(/)を1つ)。

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

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