サーバー上のディレクトリにファイルをコピーします。
<cffile
action = "upload"
fileField = "formfield"
destination = "full_path_name"
nameConflict = "behavior"
accept = "mime_type"、"file_type"
mode = "permission"
attributes = "file_attribute_or_list">
result = "result_name"
メインの cffile タグのページの「ヒストリ」を参照してください。
| 属性 |
必須/ オプション |
デフォルト | 説明 |
|---|---|---|---|
|
action |
必須 |
|
このタグが実行するファイル操作のタイプです。 |
|
fileField |
必須 |
|
ファイルを選択するときに使用したフォームフィールドの名前です。 フィールド名を指定するときにシャープ記号 (#) を使用しないでください。 |
|
destination |
必須 |
|
ファイルのアップロード先となるディレクトリのパス名です。絶対パス (ドライブ文字とコロン、あるいはスラッシュまたは円記号から始まるパス) を指定しなかった場合は、GetTempDirectory 関数から返される ColdFusion テンポラリディレクトリを基準とする相対パスになります。 |
|
nameConflict |
オプション |
Error |
ファイル名がディレクトリ内のファイルと同じ場合に実行するアクションです。
|
|
accept |
オプション |
|
受け入れる MIME タイプを制限します。カンマで区切って指定します。たとえば、JPEG ファイルと Microsoft Word ファイルのアップロードを許可するには、次のように指定します。
ブラウザは、ファイル拡張子に基づいてファイルタイプを判別します。 |
|
mode |
オプション |
|
UNIX および Linux だけに適用されます。許可を表す UNIX chmod コマンドの 8 進数値です。所有者、グループ、および他の利用者それぞれに割り当てられます。例 :
|
|
attributes |
オプション |
|
Windows に適用されます。ファイルに設定する属性をカンマ区切りリストで指定します。 この属性を省略した場合、ファイルの属性が保持されます。 値はそれぞれ明示的に指定する必要があります。たとえば、
|
|
result |
オプション |
|
|
ファイルのアップロードが終了すると、ファイルアップロードのパラメータを使用してステータス情報を取得できます。パラメータを参照するには、cffile 接頭辞を使用するか、result 属性で代替名を指定した場合はその指定した名前を使用します。たとえば、result 属性で名前を指定しなかった場合は、#cffile.fileExisted# として fileExisted パラメータにアクセスします。result 属性を myResult に設定した場合は、#myResult.fileExisted# として fileExisted パラメータにアクセスします。
ステータスパラメータは、他の ColdFusion パラメータを使用できる場所であればどこでも使用できます。
ヒント: result 属性では、複数のページから同時に呼び出される関数または CFC について、一方の呼び出しの結果が他方の呼び出しの結果を上書きしないようにすることができます。
メモ: cffile 接頭辞を優先するために、file 接頭辞は使用禁止になりました。新規アプリケーションでは file 接頭辞を使用しないでください。
ヒント: ページのフォーム上で選択されたファイルまたは multipart/form-data HTTP メッセージ経由でページに送信されたファイルをアップロードする場合には、CGI.content_length 変数の値を調べれば、ファイルのおおよそのサイズがわかります。この変数には、ファイルの長さだけでなく、その他のリクエストコンテンツの長さも格納されています。
アップロードを終えた後は、次に示すファイルアップロードステータスのパラメータを使用できます。
| パラメータ | 説明 |
|---|---|
|
attemptedServerFile |
ファイルを保存するために使用された初期名です。 |
|
clientDirectory |
クライアントのシステムからアップロードされたファイルのディレクトリ位置です。 |
|
clientFile |
クライアントのシステムからアップロードされたファイルの名前です。 |
|
clientFileExt |
クライアントシステム上のアップロードされたファイルの拡張子です (ピリオドは含みません)。 |
|
clientFileName |
クライアントシステム上のアップロードされたファイルの名前です (拡張子は含みません)。 |
|
contentSubType |
保存ファイルの MIME コンテンツサブタイプです。 |
|
contentType |
保存ファイルの MIME コンテンツタイプです。 |
|
dateLastAccessed |
アップロードされたファイルが最後にアクセスされた日付と時刻です。 |
|
fileExisted |
同じパスを持つファイルが既に存在しているかどうかを yes または no で示します。 |
|
fileSize |
アップロードされたファイルのサイズです。 |
|
fileWasAppended |
アップロードされたファイルが他のファイルに追加されたかどうかを yes または no で示します。 |
|
fileWasOverwritten |
ファイルが上書きされたかどうかを yes または no で示します。 |
|
fileWasRenamed |
名前の重複を回避するために、アップロードされたファイルの名前が変更されたかどうかを yes または no で示します。 |
|
fileWasSaved |
ファイルが保存されたかどうかを yes または no で示します。 |
|
oldFileSize |
ファイルのアップロード処理によって上書きされたファイルのサイズです。 |
|
serverDirectory |
サーバー上に実際に保存されたファイルのディレクトリです。 |
|
serverFile |
サーバー上に保存されたファイルの名前です。 |
|
serverFileExt |
サーバー上にアップロードされたファイルの拡張子です (ピリオドは含みません)。 |
|
serverFileName |
サーバー上にアップロードされたファイルの名前です (拡張子は含みません)。 |
|
timeCreated |
アップロードされたファイルが作成された時刻です。 |
|
timeLastModified |
アップロードされたファイルが最後に修正された日付と時刻です。 |
メモ: ファイルステータスのパラメータは読み取り専用です。これらのパラメータには、最新の cffile オペレーションの結果が設定されます。2 つの cffile タグを実行すると、result 属性で異なる結果変数を指定していない限り、最初の結果は 2 番めの結果によって上書きされます。
次の例では、Windows 上でのファイルアップロード時に名前が競合している場合に、固有のファイル名を作成します。
<!--- Windows の例 --->
<!--- フォーム変数が存在するかどうかを確認します。 --->
<cfif isDefined("Form.FileContents") >
<!--- TRUE の場合、ファイルをアップロードします。 --->
<cffile action = "upload"
fileField = "FileContents"
destination = "c:¥files¥upload¥"
accept = "text/html"
nameConflict = "MakeUnique">
<cfelse>
<!--- FALSE の場合、フォームを表示します。 --->
<form method="post" action=<cfoutput>#cgi.script_name#</cfoutput>
name="uploadForm" enctype="multipart/form-data">
<input name="FileContents" type="file">
<br>
<input name="submit" type="submit" value="Upload File">
</form>
</cfif>
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7