The mechanism for form-based file upload was originally proposed in RFC 1867 (published November 1995), as an extension to HTML 2.0 (RFC 1866), after its publication. Form-based file upload then was incorporated in HTML 3.2, which explicitly refers to RFC 1867 for further information on form-based file upload. HTML 4.01 does not, in itself, describe how the file-select control is supposed to work, but it does list RFC 2388 and RFC 1867 as references.
Multiple file selection The intention in RFC 1867 is that a single file-select control should allow selection of multiple files. This intention seems reflected in HTML 4.01, which, for the file-select control- type, states This control type allows the user to select files so that their contents may be submitted with a form. The INPUT element is used to create a file select control. It has been noted that the plural "files" in the above quote is an indication that, in HTML 4.01, a single-file select-control still was supposed to handle selection of multiple files and not just a single file. This situation is being clarified in HTML5 by adding a "multiple" attribute when the file input should accept multiple files. The current draft specifies the new behavior to be: Unless the multiple attribute is set, there must be no more than one file in the list of selected files.
Accept attribute RFC 1867 also introduced the accept attribute for the input element. This would enable file-type filtering based on
MIME type for the file-select control. In addition, it is proposed that the INPUT tag have an ACCEPT attribute, which is a list of comma-separated media types. If an ACCEPT attribute is present, the browser might constrain the file patterns prompted for to match those with the corresponding appropriate file extensions for the platform. Thus, a user-agent may restrict file selection, as, for example, in the following, restricted to
GIF and PNG images or any images: On a Windows platform, this might mean that the
user agent would show files only of the types specified in the browse-file dialog. ==Browser limitations==