CFCONTENT |
Description

Does either or both of the following:

- Sets the MIME content encoding header for the current page
- Sends the contents of a file from the server as the page output

Note: | This tag executes only if it is enabled in the ColdFusion Administrator. For more information, see Configuring and Administering ColdFusion MX.

Category
Data output tags

Syntax

    <cfcontent
       type = "file_type"
       deleteFile = "Yes" or "No"
       file = "filename"
       reset = "Yes" or "No">starting  with a drive letter and a colon, or a forward or backward slash

See also
cfcol, cfheader, cfhttp, cfoutput, cftable
Usage

To set the character encoding (character set) of generated output, use code such as the following:

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

When ColdFusion processes an HTTP request, it determines the character encoding of the data returned in the HTTP response. By default, ColdFusion returns character data using the Unicode UTF-8 format (regardless of the value of an HTML meta tag in the page). You can use the cfcontent tag to override the default character encoding of the response. For example, to specify the character encoding of the page output as Japanese EUC, use the type attribute, as follows:

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

If you call the cfcontent tag from a custom tag, and you do not want the tag to discard the current page when it is called from another application or custom tag, set reset = "no".
If a file delete operation is unsuccessful, ColdFusion throws an error.

If you use this tag after the cfflush tag on a page, ColdFusion throws an error. The following tag can force most browsers to display a dialog that asks users whether they want to save the contents of the file specified by the cfcontent tag as a with the filename specified by the filename value.

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

For many file types, such as Excel documents, that Internet Explorer can display directly in the browser, the browser displays the file without asking users whether to save it if you use a cfheader tag similar to the following:

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

For more information on character encodings, see the following web pages:

- www.w3.org/International/O-charset.html provides general information on character encodings and the web, and has several useful links.
- www.iana.org/assignments/character-sets is a complete list of character sets names used on the Internet, maintained by the Internet Assigned Numbers Authority.
- java.sun.com/j2se/1.3/docs/guide/intl/encoding.doc.html lists the character encodings that Java, and therefore ColdFusion, can interpret. This list uses Java internal names, not the IANA character encoding names that you use in the SetEncoding charset parameter and other ColdFusion attributes and parameters.

For a complete list of media types used on the Internet, see www.iana.org/assignments/media-types/.

Example

    <!--- This example shows the use of cfcontent to return the contents of the CF
    Documentation page dynamically to the browser.
    You might need to change the path and/or drive letter depending on how
    ColdFusion is installed on your system.
    Notice that the graphics do not display and the hyperlinks do not work,
    because the html page uses relative filename references.
    The root of the reference is the ColdFusion page, not the location of the
    html page.

    <cfcontent type = "text/html"
    file = "C:\CFusionMX\wwwroot\cfdocs\dochome.htm"
    deleteFile = "No">
    <!--- This example shows how reset attribute changes text output. --->
    <html>
    <body>
    <h3>cfcontent Example 2</h3>

    <p>This example shows how reset attribute changes output for text.</p>
    <p>reset = "Yes ": 123
    <cfcontent type = "text/html" reset = "Yes ">456</p>
    <p>This example shows how reset attribute changes output for text.</p>
    <p>reset = "No ": 123
    <cfcontent type = "text/html" reset = "No ">456</p>

TYPE |
| Optional

The MIME content type of the page, optionally followed by a semicolon and the character encoding. By default, ColdFusion sends pages as text/html content type in the UTF-8 character encoding.

The content type determines how the browser or client interprets the page contents.

The following are some of the content type values you can use include:

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

The following list includes commonly used character encoding values:

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

For example:

type = "text/html"

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

DELETEFILE |
| Optional

Default value: "No"

Applies only if you specify a file with the file attribute.

- Yes: deletes the file on the server after sending its contents to the client.
- No: leaves the file on the server.

FILE |
| Optional
Name of file whose contents will be the page output. When using ColdFusion in a distributed configuration, the file attribute must refer to a path on the system on which the web server runs. When you use this attribute, any other output on the current CFML page is ignored; only the contents of the file is sent to the client.

RESET |
| Optional

Default value: "Yes"

The reset and file attributes are mutually exclusive. If you specify a file, this attribute has no effect.

- Yes: discards output that precedes call to cfcontent
- No: preserves output that precedes call to cfcontent. In this case all output is sent with the specified type.