アップロードモード(ORAF、OROF、EXTS、AWSS3)
DEXTUploadX5製品はファイルをアップロードする3つの方法(ORAF、OROF、EXTS)を提供し、さらにAmazon Web ServicesのSimple Storage Service(S3)にファイルをアップロードするAWSS3(4.0.0.0以降)モードをサポートする。
デフォルトはORAFで、アップロードモードを変更したい場合は、setUploadMode関数を使用して変更できます。
EXTSはEXNJのような大容量ファイルのアップロードを指し、どちらも利用できる。
var dx = dx5.get("component-id");
// ORAF、OROF、EXTS、AWSS3にアップロードモードを設定する。
dx.setUploadMode("ORAF");
- ORAF
-
ORAF(基本)は、アップロードするファイルを1つのリクエストに入れて送信する。
もし、アップロードするファイルが10個ある場合は、一回のリクエストでサーバーに10個のファイルの両方を伝送する。
通常HTTP multipartデータは、最大2GBバイトを超えることができないようにサーバーで制限されている場合が多いので、10個のファイルの合計は、2GBよりも小さくする。
サーバーでアップロードが終了したら、応答データは、一度だけ取り戻す。
区分 説明 利点 一度にすべてのファイルが転送がされるので、サーバ側で処理すると、すべてのファイルがあるか、あるいはまったくないかのいずれの場合のみを処理すればよい。
転送中にサーバーやネットワーク上に問題が発生した場合、ロールバックが容易である。(一時ファイルが生成される部分は、考慮していない)
サーバー側の開発(コードが簡潔)が容易である。
欠点 ファイル全体の合計が通常2GBを超えることができない。
多くのファイルを一度に転送するとき、データのサイズが大きくなるので、ネットワークのトラフィックを長時間占有する問題が発生する。
トラフィックが大きい情報が長時間占有をすると、サーバーの応答性が低下しので、共存環境で体感性能が落ちる。
- OROF
-
OROFは、アップロードするファイルの数だけ要求が行われる。
もし、アップロードするファイルが10個ある場合は、個々のファイルごとに同じアドレスへの要求して、サーバーにファイルを転送することになる。
一つのファイルがアップロードが完了すると、次のファイルをアップロードする連続的に続くので、すべてのアップロードが完了すると、応答データは、ファイルの数だけ生成される。
通常HTTP multipartデータは、最大2GBバイトを超えることができないようにサーバーで制限されている場合が多いので、ファイルごとのサイズは2GBよりも小さくする。
区分 説明 利点 ファイル全体のサイズの合計は制限がない。
ORAFアップロードモードに比べてサーバーの応答性が高く、全体体感性能が向上する。(個々のファイルのサイズが小さい場合)
一度に1つのファイルのみ転送がされるので、サーバ側で処理するとき、ループ(loop)作業がない。
欠点 ファイルの数だけサーバへのリクエストがあるので、サーバーは、要求情報だけでアップロードするファイルの数と合計サイズを把握することができない。
転送中にサーバーやネットワーク上に問題が発生した場合、サーバーに最初にアップロードされたファイルが残っていることができる。
個々のファイルのサイズが大きい場合にも、データのサイズが大きくなるので、ネットワークのトラフィックを長時間占有する問題が発生する。
サーバー側の開発がORAFより複雑である。
- EXTS
-
EXTSは大容量アップロードのための方式としては、個々の、またはファイル全体のサイズが2GBを超える場合に使用する。
OROFよう複数の要求にわたってファイルをアップロードする方法は同じである。
しかし、ファイルの数だけアップロード要求を分けるのではなく、決まったブロック(チャンク)単位でアップロード要求を共有する。
要求に対する応答の数は、ブロック数だけ発生するが、実際に運用するため使用する応答データは、ファイルの数だけ生成される。(自社サーバーコンポーネントと連動している場合)
var dx = dx5.get(id); // アップロード方式を大容量に設定する。 dx.setUploadMode("EXTS"); // ファイルを分割するブロックサイズをバイト単位で設定する。 dx.setUploadBlockSize(10 * 1024 * 1024);EXTSモードをサポートするには、サーバーはDEXTUpload Pro(4.0.0.0以降)、DEXTUpload.NET Pro(5.0.0.0以降)、DEXTUploadNJ製品が必要である。より詳しくは、「大容量ファイルのアップロード」のドキュメントを参照している。
区分 説明 利点 個別と全体のファイルサイズの制限がない。
ORAFまたはOROFアップロードモードに比べてサーバーの応答性が高く、全体体感パフォーマンスが大幅に向上する。
ブロック単位を調節して、サーバー自体の容量フィルターにかからないように処理することができる。
続いて上げるが可能である。
欠点 ブロック数のサーバーへのリクエストがあるので、サーバーは、要求情報だけでアップロードするファイルの数と合計サイズを把握することができない。
ブロック単位が小さくなるほど、要求の数が増える。
転送中にサーバーやネットワーク上に問題が発生した場合、サーバーに最初にアップロードされたファイルが残っていることができる。
裂かブロックを合わせるべき問題があり、サーバ側の開発が非常に複雑である。(自社サーバーコンポーネントを使用すると、簡単に処理される。)
- AWSS3
-
Amazon Simple Storage Serviceにファイルをアップロードするためのアップロード方法を指します。