cfcontent

説明

次のどちらか、または両方を行います。

このタグの使用を制限するには、ColdFusion MX Administrator のサンドボックスセキュリティ機能を使用します。詳細については、ColdFusion MX Administrator のオンラインヘルプを参照してください。

カテゴリ

データ出力タグ

シンタックス

<cfcontent
type = "file_type"
deleteFile = "yes"、"no"
file = "filename"
variable = "variablename"
reset = "yes"、"no">

関連項目

cfcolcfheadercfhttpcfoutputcftable

ヒストリ

ColdFusion MX 7: variable 属性が追加されました。

属性

属性 必須/
オプション
デフォルト 説明

type

オプション

 

ページの MIME コンテンツタイプです。その後にセミコロンと文字エンコードを続けることもあります。デフォルトでは、ページは UTF-8 文字エンコードの text/html コンテンツタイプとして送信されます。

コンテンツタイプにより、ブラウザまたはクライアントがそのページコンテンツをどのように解釈するかが決まります。

使用できるコンテンツタイプの値の一部を次に示します。

  • text/html
  • text/plain
  • application/x-shockwave-flash
  • application/msword
  • image/jpeg

一般的に使用される文字エンコードの値を次に示します。

  • utf-8
  • iso-8859-1
  • windows-1252
  • us-ascii
  • shift_jis
  • iso-2022-jp
  • euc-jp
  • euc-kr
  • big5
  • euc-cn
  • utf-16

例 :

type = "text/html"

type = "text/html; charset=ISO-8859-1"

deleteFile

オプション

no

file 属性でファイルを指定する場合にのみ適用されます。

  • yes: ファイルのコンテンツをクライアントに送信した後で、サーバー上のファイルを削除します。
  • no: サーバー上にファイルを残します。

file

オプション

 

ページ出力になるコンテンツを含むファイルの名前です。ファイル名は、ドライブ文字とコロン、またはスラッシュや円記号で始まらなければなりません。ColdFusion を分散構成で使用する場合、file 属性には、Web サーバーが稼働しているシステムのパスを指定する必要があります。この属性を使用すると、現在の CFML ページのその他の出力は無視されます。指定したファイルのコンテンツのみがクライアントに送信されます。

variable

オプション

 

cfchart タグで生成されたチャートのコンテンツ、cffile action="readBinary" タグで取り出された PDF ファイルや Excel ファイルなど、ブラウザで表示可能なコンテンツを持つ ColdFusion MX バイナリ変数の名前です。この属性を使用すると、現在の CFML ページのその他の出力は無視されます。指定したファイルのコンテンツのみがクライアントに送信されます。

reset

オプション

yes

file 属性または variable 属性を指定した場合、この属性は無効になります。指定しない場合は次のいずれかになります。

  • yes: cfcontent を呼び出す前の出力が破棄されます。
  • no: cfcontent を呼び出す前の出力が保存されます。この場合は、すべての出力が指定のコンテンツタイプで送信されます。

使用方法

HTML ページなど、生成された出力の文字エンコード (文字セット) を設定するには、次のようなコードを使用します。

<cfcontent type="text/html; charset=ISO-8859-1">

ColdFusion では、HTTP リクエストの処理時に、HTTP レスポンスで返されるデータに対して使用する文字エンコードが決定されます。デフォルトでは、ページ内の HTML の meta タグの値に関係なく、Unicode UTF-8 形式を使用して文字データが返されます。cfcontent タグを使用すると、レスポンスのデフォルトの文字エンコードよりも優先することができます。たとえば、ColdFusion MX で Japanese EUC 文字エンコードを使用してページを返すには、次のように type 属性を使用します。

<cfcontent type="text/html; charset=EUC-JP"> 

cfcontent タグをカスタムタグから呼び出す場合で、現在のページが別のアプリケーションまたはカスタムタグから呼び出されたときに、ページがこのタグによって破棄されないようにするには、reset = "no" に設定します。

ファイル削除オペレーションが正常に終了しない場合は、エラーが発生します。

このタグをページ内の cfflush タグの後に使用しないでください。そのように使用しても効果はなく、ColdFusion でエラーが発生します。

次のタグを使用すると、大部分のブラウザでは、cfcontent タグで指定されたファイルのコンテンツを、filename 属性で指定されたファイル名で保存するかどうかをユーザーに尋ねるダイアログが表示されます。ファイルを開くことを選択すると、大部分のブラウザは、ブラウザウィンドウではなく関連付けられたアプリケーションでファイルを開きます。

<cfheader name="Content-Disposition" value="attachment; filename=filename.ext">

PDF ドキュメントなどの一部のファイルタイプの場合は、実行可能コードを使用せず、大部分のブラウザに直接表示することができます。ブラウザにファイルを直接するようにするには、次のように cfheader タグを使用します。

<cfheader name="Content-Disposition" value="inline; filename=name.ext">

filename 属性の filename 部分には任意の値を使用できますが、ext の部分はそのファイルタイプに関する Windows の標準の拡張子でなければなりません。

Microsoft Excel ドキュメントなど、実行可能コードが含まれている可能性があるファイルタイプの場合、大部分のブラウザでは、ドキュメントを開く前に確認メッセージが表示されます。これらのファイルタイプの場合、ユーザーがファイルを開くことを選択すると、インラインコンテンツ処理の仕様により、ブラウザに対してファイルを直接表示するようにリクエストされます。

文字エンコードの詳細については、次の Web ページを参照してください。

インターネット上で使用されるメディアタイプの完全なリストについては、www.iana.org/assignments/media-types/ を参照してください。

<!--- CFCONTENT の例 1
この例は、cfcontent を使用して、CF ドキュメントページの内容をブラウザに
ダイナミックに返す方法を示しています。使用するシステムでの
ColdFusion のインストール方法に応じて、パスやドライブ文字を変更しなければならない場合が
あります。この html ページは相対ファイル名参照を使用しているので、グラフィックは
表示されず、ハイパーリンクも機能しません。
参照のルートはこの ColdFusion ページであり、html ページの場所では
ありません。 --->

<cfcontent type = "text/html"
file = "C:¥CFusionMX7¥wwwroot¥cfdocs¥dochome.htm"
deleteFile = "no"> <!--- CFCONTENT の例 2 この例は、Reset 属性でテキストの出力を変更する方法を示しています。最初のテキスト部分 ("この例は、Reset 属性でテキストの出力を変更する方法を示しています。 = "Yes":123) が 画面に出力されないことに注意してください。 ---> <p>この例は、Reset 属性でテキストの出力を変更する方法を示しています。</p> <p>reset = "Yes ":123 <BR> <cfcontent type = "text/html" reset = "Yes">456</p> <p>この例は、Reset 属性でテキストの出力を変更する方法を示しています。</p> <p>reset = "No ":123 <BR> <cfcontent type = "text/html" reset = "No">456</p> <!--- CFCONTENT の例 3 この例では、Excel ファイルのダウンロードを実行します。ユーザーは、ファイルを 保存するかブラウザで開くかを選択するよう要求されます。 ---> <cfheader name="Content-Disposition" value="inline; filename=acmesales03.xls">
<cfcontent type="application/vnd.ms-excel" file="c:¥temp¥acmesales03.xls"> <!--- CFCONTENT の例 4 この例では、Word ドキュメントのダウンロードを実行した後に元のファイルを "temp" ディレクトリから削除します。ユーザーは、ファイルを 保存するかブラウザで開くかを選択するよう要求されます。 ---> <cfheader name="Content-Disposition" value="inline; filename=temp.doc"> <cfcontent type="application/msword" file="c:¥temp¥Cable.doc" deletefile="yes"> <!--- CFCONTENT の例 5 この例では、ブラウザで HTML テーブルを Excel データとして扱います。 Excel では HTML テーブル形式が解釈されます。 Excel には実行可能コードが含まれている可能性があるので、ユーザーはファイルを保存するか ブラウザで開くかを選択するよう要求されます。 ---> <cfheader name="Content-Disposition" value="inline; filename=acmesalesQ1.xls"> <cfcontent type="application/vnd.msexcel"> <table border="2"> <tr><td>Month</td><td>Quantity</td><td>$ Sales</td></tr> <tr><td>January</td><td>80</td><td >$245</td></tr> <tr><td>February</td><td>100</td><td>$699</td></tr> <tr><td>March</td><td>230</td><td >$2036</td></tr> <tr><td>Total</td><td>=Sum(B2..B4)</td><td>=Sum(C2..C4)</td></tr> </table>

ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7