[5926] in www-talk@info.cern.ch

home help back first fref pref prev next nref lref last post

Re: File upload in HTML forms

daemon@ATHENA.MIT.EDU (Daniel W. Connolly)
Thu Sep 29 16:53:46 1994

Date: Thu, 29 Sep 1994 21:48:15 +0100
Errors-To: listmaster@www0.cern.ch
Errors-To: listmaster@www0.cern.ch
Reply-To: connolly@hal.com
From: "Daniel W. Connolly" <connolly@hal.com>
To: Multiple recipients of list <www-talk@www0.cern.ch>

In message <2E8AD45E@MSMAIL.INDY.TCE.COM>, Fisher Mark writes:
>
>2. Define "Content-Type: multipart/file; name=X" where X is the suggested 
>filename for that part.  Agents (mail user agents, WWW browsers, etc.) are 
>free to rename the file as they deem fit or to reject filenames if they 
>violate filesystem access permissions (like "Content-Type: multipart/file; 
>name=/etc/passwd");
>
>3. Allow the "Content-Type:" header to occur when a "Packet:" occurs;

This is mixing methaphors. For one thing, you can't call it
multipart/* without using the multipart syntax, including
boundaries. And you can't stick any content-transfer-encoding except
7bit inside multipart/*. The MIME spec frowns on complex encodings
(e.g. base64 wrapped up in base64).

Did you see my proposal for aggregate/mixed etc? This allows
the features you're after.


>4. Force a blank line:
>     printf("%c%c", CR, LF);
>between these headers and the packet contents; and

Blech. Parsing of packets is supposed to be quick and dirty.
Don't muck it up with header/body parsing.

>The resulting data would look like this for two files, each with one line of 
>text terminated by a CR-LF pair:
>
>     Content-Transfer-Encoding: packet
>     Content-Type: multipart/file; name="capital.txt"
>     Packet: 28
>
>     ABCDEFGHIJKLMNOPQRSTUVWXYZ
>     Content-Transfer-Encoding: packet
>     Content-Type: multipart/file; name="lower.txt"
>     Packet: 28

Your Packet: header is exactly the Content-Length: header in sheep's
clothing! You're back to the old problem of having to know how big the
body is before you write the headers of the body part.


Dan

home help back first fref pref prev next nref lref last post