On Tue, 20 Oct 2009 18:27:36 +0200, Darin Fisher <[email protected]>
wrote:
On Tue, Oct 20, 2009 at 4:31 AM, Anne van Kesteren <[email protected]>
wrote:
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.
Hmm, OK
If you envision things differently, by all means say so :-)
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?
WebKit presently supports sending File. It does not support FileData
yet.
Is Content-Type set to anything specific if the author has not set it? I
assume what is being transferred is the file data, octet-for-octet, as it
is represented on the disk? Does it make a straight copy of the file or
can modifying the file cause potential problems?
I'm not sure about supporting FileList. If it were to be encoded using
multipart/form-data, then how would the form field names be chosen?
Would they just be excluded from the encoding?
If we have something like the FormData type proposed above, then we
wouldn't need to support sending a FileList. People could just iterate
a FileList
and call appendFile for each element of the FileList.
True.
(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.)
OK
I'm interested in having a WebKit implementation for this soon.
After TPAC means the week of November 9. Does that work?
Meanwhile my basic idea based on your proposal is:
[Constructor] interface FormData {
void append(DOMString name, DOMString value);
void append(DOMString name, FileData value);
}
Then when send() is invoked with a FormData object I assume the easiest
would be to make a copy of the object serialize it per the rules of RFC
2388 (encoding DOMString values as UTF-8) and done.
--
Anne van Kesteren
http://annevankesteren.nl/