呵呵,所有的上传文件的FORM都必须要加enctype="multipart/form-darta"
否则文件无法上传!!
GOOD LUCK!

解决方案 »

  1.   

    17.13.4 Form content types
    The enctype attribute of the FORM element specifies the content type [p.53] used to
    encode the form data set [p.246] for submission to the server. User agents must
    support the content types listed below. Behavior for other content types is
    unspecified.
    Please also consult the section on escaping ampersands in URI attribute values
    [p.335] .
    application/x-www-form-urlencoded
    This is the default content type. Forms submitted with this content type must be
    encoded as follows:
    1. Control names and values are escaped. Space characters are replaced by ‘+’,
    and then reserved characters are escaped as described in [RFC1738] [p.354] ,
    section 2.2: Non-alphanumeric characters are replaced by ‘%HH’, a percent
    sign and two hexadecimal digits representing the ASCII code of the character.
    Line breaks are represented as "CR LF" pairs (i.e., ‘%0D%0A’).
    2. The control names/values are listed in the order they appear in the document.
    The name is separated from the value by ‘=’ and name/value pairs are
    separated from each other by ‘&’.
    24 Dec 1999 18:26 247
    multipart/form-data
    Note. Please consult [RFC2388] [p.356] for additional information about file uploads,
    including backwards compatibility issues, the relationship between
    "multipart/form-data" and other content types, performance issues, etc.
    Please consult the appendix for information about security issues for forms [p.350]
    .
    The content type "application/x-www-form-urlencoded" is inefficient for sending
    large quantities of binary data or text containing non-ASCII characters. The content
    type "multipart/form-data" should be used for submitting forms that contain files,
    non-ASCII data, and binary data.
    The content "multipart/form-data" follows the rules of all multipart MIME data
    streams as outlined in [RFC2045] [p.354] . The definition of "multipart/form-data" is
    available at the [IANA] [p.353] registry.
    A "multipart/form-data" message contains a series of parts, each representing a
    successful control [p.245] . The parts are sent to the processing agent in the same
    order the corresponding controls appear in the document stream. Part boundaries
    should not occur in any of the data; how this is done lies outside the scope of this
    specification.
    As with all multipart MIME types, each part has an optional "Content-Type" header
    that defaults to "text/plain". User agents should supply the "Content-Type" header,
    accompanied by a "charset" parameter.
    Each part is expected to contain:
    1. a "Content-Disposition" header whose value is "form-data".
    2. a name attribute specifying the control name [p.220] of the corresponding
    control. Control names originally encoded in non-ASCII character sets [p.41]
    may be encoded using the method outlined in [RFC2045] [p.354] .
    Thus, for example, for a control named "mycontrol", the corresponding part would
    be specified:
    Content-Disposition: form-data; name="mycontrol"
    As with all MIME transmissions, "CR LF" (i.e., ‘%0D%0A’) is used to separate
    lines of data.
    Each part may be encoded and the "Content-Transfer-Encoding" header supplied
    if the value of that part does not conform to the default (7BIT) encoding (see
    [RFC2045] [p.354] , section 6)
    If the contents of a file are submitted with a form, the file input should be identified
    by the appropriate content type [p.53] (e.g., "application/octet-stream"). If multiple
    files are to be returned as the result of a single form entry, they should be returned
    as "multipart/mixed" embedded within the "multipart/form-data".
    248 24 Dec 1999 18:26
    Forms in HTML documents
    The user agent should attempt to supply a file name for each submitted file. The
    file name may be specified with the "filename" parameter of the ’Content-Disposition:
    form-data’ header, or, in the case of multiple files, in a ’Content-Disposition: file’
    header of the subpart. If the file name of the client’s operating system is not in
    US-ASCII, the file name might be approximated or encoded using the method of
    [RFC2045] [p.354] . This is convenient for those cases where, for example, the
    uploaded files might contain references to each other (e.g., a TeX file and its ".sty"
    auxiliary style description).
    The following example illustrates "multipart/form-data" encoding. Suppose we
    have the following form:
    <FORM action="http://server.com/cgi/handle"
    enctype="multipart/form-data"
    method="post">
    <P>
    What is your name? <INPUT type="text" name="submit-name"><BR>
    What files are you sending? <INPUT type="file" name="files"><BR>
    <INPUT type="submit" value="Send"> <INPUT type="reset">
    </FORM>
    If the user enters "Larry" in the text input, and selects the text file "file1.txt", the
    user agent might send back the following data:
    Content-Type: multipart/form-data; boundary=AaB03x
    --AaB03x
    Content-Disposition: form-data; name="submit-name"
    Larry
    --AaB03x
    Content-Disposition: form-data; name="files"; filename="file1.txt"
    Content-Type: text/plain
    ... contents of file1.txt ...
    --AaB03x--
    If the user selected a second (image) file "file2.gif", the user agent might construct
    the parts as follows:
    Content-Type: multipart/form-data; boundary=AaB03x
    --AaB03x
    Content-Disposition: form-data; name="submit-name"
    Larry
    --AaB03x
    Content-Disposition: form-data; name="files"
    Content-Type: multipart/mixed; boundary=BbC04y
    --BbC04y
    Content-Disposition: file; filename="file1.txt"
    Content-Type: text/plain
    ... contents of file1.txt ...
    24 Dec 1999 18:26 249
    Forms in HTML documents
    --BbC04y
    Content-Disposition: file; filename="file2.gif"
    Content-Type: image/gif
    Content-Transfer-Encoding: binary
    ...contents of file2.gif...
    --BbC04y--
    --AaB03x--
    Forms in HTML documents
      

  2.   

    这是w3c HTML 4.01 Specification中的内容