On Sep 8, 2009, at 10:49 PM, Darin Fisher wrote:
On Tue, Sep 8, 2009 at 6:22 PM, Maciej Stachowiak <[email protected]>
wrote:
On Sep 8, 2009, at 6:16 PM, Jian Li wrote:
In WebKit, XMLHttpRequest.send() supports sending single file. It
would be better if we can support sending multiple files, like
FileList (see bug 25923).
In addition, XMLHttpRequest.send() only sends the raw content of
the file, without including the multipart boundary separators (see
bug 26979).
To resolve these issues, we can enhance XMLHttpRequest.send() to
support a FileList object and add multipart boundary separators
support.
Or, the other simpler way (thanks for suggestion from Darin Fisher)
is to extend XMLHttpRequest.send() to take an array of items. Each
of item could either be a string or a file reference. The web
application is responsible to generate the miultipart enevelop like
the following:
var payload = new Array;
payload.push(header1);
payload.push(file1);
payload.push(footer1);
...
xhr.send(payload);
How do you guys think about these approaches?
I'd suggest proposing these ideas to the W3C Web Apps Working Group.
I am sure people there will have opinions. I'd like our approach
here to be aligned with other browsers.
Personally, I think the ability to mix strings and files is most
useful, thus I like the array approach. However, it would require
defining what happens to array elements that are not either a string
or a File object.
Wouldn't an implicit toString be appropriate? We may even wish to
allow the array to include Document references for completeness.
Implicit toString is not the right behavior for File. I'm wondering if
there are other current or future types for which it is not
appropriate. If we did allow Documents or other DOM nodes, then we
would probably want to serialize to markup instead of using toString,
which would just result in "[object Document]". Canvas ImageData is
another potential candidate for uploading, since uploading the image
as binary data is probably more efficient than doing so as a data:
URL. There's lots of possibilities here - probably best to discuss
further on public-webapps.
Regards,
Maciej
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev