On Tue, 20 Oct 2009 10:56:47 +0200, Darin Fisher <[email protected]>
wrote:
On Tue, Oct 20, 2009 at 1:37 AM, Anne van Kesteren <[email protected]>
wrote:
I think for a lot of authors the easiest would be easiest if it was in
the form of multipart/form-data as then they do not have to do anything
special to get the data on the server.
That does address the primary use case, but do you really think that we
should rule out the use case of custom encodings?
(At least for Gecko and WebKit, it is really trivial to support the more
free-form interface since the underlying network layers speak in terms
of a list of strings and file references.)
I do not want to rule anything out, but a request I repeatedly hear is
duplicating <form> functionality with XMLHttpRequest. Support for
multipart/form-data furthermore is extremely widespread and resembles
quite closely what is desired so it seems good to use it.
If eventually we get native support for octet-arrays and all we can at
that point add the ability to XMLHttpRequest so you can send anything you
want.
If we do go the more specific route, then it could look like this:
var data = new FormData;
data.appendText("name1", "value");
data.appendFile("name2", fileData);
xhr.send(data);
The UA could populate the filename attribute of the Content-Disposition
header based on the given fileRef. Same goes for the Content-Type
header.
Hmm... this may indeed be a good way to go since I don't think the
proposed
FileData (
http://dev.w3.org/2006/webapi/FileUpload/publish/FileAPI.html#FileData-if)
interface includes a name attribute.
This looks reasonable to me.
I suppose we also want support passing File[Data] and FileList directly as
I believe WebKit might have already added. Do you happen to know the
implementation details?
(I'm planning to wait with defining this until at least after TPAC. I
expect more discussion to happen there and I also want to keep focus on
the CSSOM before switching tasks again. It would be good to have most of
the details before than though.)
--
Anne van Kesteren
http://annevankesteren.nl/