説明

HTTP リクエストでページに送信されたすべてのファイルを、サーバー上のディレクトリにアップロードします。

戻り値

ファイルのアップロードステータスを含む構造体の配列。構造体の内容について詳しくは、cffileaction = "uploadAll" の「使用方法」の節を参照してください。

関数のシンタックス

FileUploadAll(destination, accept, nameConflict, strict, continueOnError, errors, allowedExtensions)

履歴

ColdFusion(2018 リリース)アップデート 3、ColdFusion(2016 リリース)アップデート 10、ColdFusion 11 アップデート 18:パラメーター allowedExtensions が追加されました。

ColdFusion 11:continueOnError および errors パラメーターが追加されました。

ColdFusion 9.0.1:この関数が追加されました。

パラメーター

パラメーター 必須 デフォルト 説明
destination 必須   ファイルのアップロード先となるディレクトリのパスです。絶対パス(ドライブ文字とコロン、あるいはスラッシュまたは円記号から始まるパス)を指定しない場合は、getTempDirectory 関数から返される ColdFusion テンポラリディレクトリを基準とする相対パスを指定します。
指定した宛先が存在しない場合は、指定された宛先の名前のファイルが作成されます。例えば、宛先 C:¥XYZ を指定した場合は、C: ドライブにファイル XYZ が作成されます。
accept オプション  

受け入れる MIME タイプを制限します。カンマ区切りリストです。例えば、コード "image/jpg,application/msword" では、JPEG ファイルと Microsoft Word ファイルのアップロードが許可されます。

strict="true" の場合

accept 属性に MIME タイプが指定されている場合、サーバーまたはアプリケーション設定で拡張子がブロックされると、そのファイルはアップロードされません。

strict="false" の場合

accept 属性でファイル拡張子を指定すると、その拡張子はサーバーまたはアプリケーション設定のブロックされた拡張子リストを上書きします。その後、そのファイルはアップロードされます。

アップロードしようとしているファイルの拡張子が管理者/アプリケーションレベルの設定でブロックされている場合で、MIME タイプが accept 属性に指定されている場合、そのファイルはアップロードされません。

次に例を示します。

  • ColdFusion Administrator でファイルタイプ CFM をブロックし、タグで accept=".cfm" を指定して CFM ファイルのアップロードを試行すると、ファイルがアップロードされます。
  • 例えば、ColdFusion Administrator でファイルタイプ CFM をブロックし、タグで accept="text/x-coldfusion" を指定して CFM ファイルのアップロードを試行すると、ファイルがブロックされます。

属性 allowedExtensions で指定した値が、サーバーまたはアプリケーション設定でブロックされた拡張子のリストを上書きします。

nameConflict オプション  Error

ファイル名がディレクトリ内のファイルと同じ場合に実行するアクションです。

  • Error:ファイルは保存されません。ColdFusion によりページの処理が停止され、エラーが返されます。
  • Skip:ファイルは保存されません。ファイルプロパティに基づいて、動作をカスタマイズできます。
  • Overwrite:ファイルを上書きします。
  • MakeUnique:アップロード用に固有のファイル名を作成します。この名前は、file オブジェクト変数 serverFile に保管されます。
continueOnError  オプション False

デフォルトでは、いずれかのファイルのアップロードに失敗した場合、残りのファイルはアップロードされません。この値を true に設定した場合、アップロードエラーの発生後ファイルのアップロードが継続されます。ファイルアップロードエラーは次の理由により発生します。

1. ファイルが空である
2.ファイルタイプが無効である
3.MIME または拡張子が無効である
4.ファイルが既に存在する

アップロードに失敗した場合、エラーの詳細が errors 属性に格納されます。

allowedExtensions オプション  

ファイル拡張子のカンマ区切りリスト。アップロードを許可されます。

例えば、.png, .jpg または .jpeg です。

「*」(星)を使用して、accept 属性で指定した MIME タイプを除くすべてのファイルを許可します。

属性 allowedExtensions で指定した値が、サーバーまたはアプリケーション設定でブロックされた拡張子のリストを上書きします。

strict オプション True

strict="false"

accept 属性でファイル拡張子を指定すると、その拡張子はサーバーまたはアプリケーション設定のブロックされた拡張子リストを上書きします。その後、そのファイルはアップロードされます。

accept 属性で MIME タイプを指定し、アップロードしようとしているファイルの拡張子が管理者/アプリケーションレベルの設定でブロックされている場合、そのファイルはアップロードされません。

次に例を示します。

  • ColdFusion Administrator でファイルタイプ CFM をブロックし、タグで accept=".cfm" を指定して CFM ファイルのアップロードを試行すると、ファイルがアップロードされます。
  • 例えば、ColdFusion Administrator でファイルタイプ CFM をブロックし、タグで accept="text/x-coldfusion" を指定して CFM ファイルのアップロードを試行すると、ファイルがブロックされます。

strict="true"

accept 属性に MIME タイプが指定されている場合、サーバーまたはアプリケーション設定で拡張子がブロックされると、そのファイルはアップロードされません。

例えば、ColdFusion Administrator でファイルタイプ CFM をブロックし、accept="text/x-coldfusion" および strict="true" を指定して CFM ファイルのアップロードを試行すると、ファイルはアップロードされません

属性 allowedExtensions で指定した値が、サーバーまたはアプリケーション設定でブロックされた拡張子のリストを上書きします。

errors オプション  cffile.uploadAllErrors

 ファイルアップロードエラーが格納される変数の名前です。continueOnError が true の場合、指定された変数名にエラーが追加されますファイルのアップロードが完了すると、各アップロードエラーのアップロードエラー情報を含む構造の配列をこのタグが作成します。

アップロード失敗情報のエラー構造体には次のフィールドが含まれます。

  • REASON - 失敗の理由です。
  • DETAIL - ファイルアップロード失敗の詳細です。
  • MESSAGE - 失敗を示す詳細メッセージです。
  • CLIENTFILE- クライアントのシステムからアップロードされたファイルの名前です。
  • CLIENTFILEEXT - クライアントシステム上のアップロードされたファイルの拡張子です(ピリオドは含みません)。
  • CLIENTFILENAME - クライアントシステム上のアップロードされたファイルの名前です(拡張子は含みません)。
  • INVALID_FILE_TYPE - ファイルの MIME タイプまたは拡張子が accept 属性に指定されていない場合。理由が INVALID_FILE_TYPE の場合、この構造体ではさらに次の 2 つのキーが利用可能です。
    • ACCEPT:このタグに指定された MIME タイプまたはファイル拡張子のリストです。
    • MIMETYPE:アップロードされたファイルの MIME タイプです。
  • EMPTY_FILE - アップロードされたファイルが空のファイルである場合。
  • FILE_EXISTS - 指定された名前のファイルが保存先に既に存在しており、overwritepolicy が error の場合
  • DEST - ファイルのコピー先です。
  • FORM_FILE_NOT_FOUND - アップロードされたファイルがサーバー上に見つからない場合。

関連項目

FileUpload

使用方法

cffile action = "uploadAll"

<cfscript>
    destination=GetDirectoryFromPath(GetCurrentTemplatePath());   
    acceptMimes="image/png, image/jpeg, text/x-coldfusion, text/plain, application/xml";
    onConflict="MakeUnique";
    strict = false;
    continueOnErr = false;
    errOnOps = "";
    acceptExtensions = ".png, .cfm";

    fileUploaded = FileUploadAll(destination, acceptMimes, onConflict, strict, continueOnErr, errOnOps, acceptExtensions);
    writeDump(fileUploaded);
</cfscript>

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー