- From: Anne van Kesteren <annevk@opera.com>
- Date: Tue, 20 Oct 2009 18:47:59 +0200
- To: "Darin Fisher" <darin@chromium.org>
- Cc: public-webapps@w3.org
On Tue, 20 Oct 2009 18:27:36 +0200, Darin Fisher <darin@chromium.org>
wrote:
> On Tue, Oct 20, 2009 at 4:31 AM, Anne van Kesteren <annevk@opera.com>
> 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/
Received on Tuesday, 20 October 2009 16:48:35 UTC