[webkit-dev] Directory upload experimental feature

David Kilzer ddkilzer at webkit.org
Thu Jun 3 07:19:13 PDT 2010


Also, I was simply pointing out existing behavior, not arguing for/against the zip file format.

Dave




________________________________
From: Sam Weinig <sam.weinig at gmail.com>
To: David Kilzer <ddkilzer at webkit.org>
Cc: John Gregg <johnnyg at google.com>; webkit-dev at lists.webkit.org; Adele Peterson <adele at apple.com>
Sent: Wed, June 2, 2010 11:28:11 AM
Subject: Re: [webkit-dev] Directory upload experimental feature

I think this is only true for Mac OS X style bundles, not all folders.


On Wed, Jun 2, 2010 at 3:44 AM, David Kilzer <ddkilzer at webkit.org> wrote:

> Other alternatives?
>
>
>I believe Safari will zip a folder and send it as a single file for you if you attach a folder to a file upload element instead of an individual file.
>
>
>Dave
>
>
>
>
>
________________________________
From: John Gregg <johnnyg at google.com>
>To: Sam Weinig <sam.weinig at gmail.com>
>Cc: webkit-dev at lists.webkit.org
>Sent: Tue, June 1, 2010 3:09:00 PM
>Subject: Re: [webkit-dev] Directory upload experimental feature
>
>
>>My proposal for that is that all the files would be listed in the form submission the same way as if it were a <input type="file" multiple>, but in the Content-Disposition header, the filename component would contain the path information. 
>>
>
>One alternative idea would be add a "path" component to the Content-Disposition header alongside the filename which remains unchanged, but I think that would be a much more difficult approach.  Other alternatives?
>
>
>Example follows.
>
>
> -John
>
>
>
>If you are have these files
>/home/John/photos/vacation/1.jpeg
>/home/John/photos/vacation/2.jpeg
>>
>/home/John/photos/conference/1.jpeg
>
>
>and choose "photos" from the directory picker, you'd end up with
>input.files[0].name = "1.jpeg"
>input.files[0].path = "photos/vacation/1.jpeg"
>input.files[1].name = "2.jpeg"
>input.files[1].path = "photos/vacation/2.jpeg"
>input.files[2].name = "1.jpeg"
>input.files[2].path = "photos/conference/1.jpeg"
>
>
>Your POST would look like
>Content-type: multipart/form-data; boundary=----WebKitFormBoundaryFoo
>
>
>----WebKitFormBoundaryFoo
>Content-Disposition: form-data; name="input"; filename="photos/vacation/1.jpeg"
>Content-Type: image/jpeg
>
>
><contents>
>
>
>----WebKitFormBoundaryFoo
>Content-Disposition: form-data; name="input"; filename="photos/vacation/2.jpeg"
>Content-Type: image/jpeg
>
>
><contents>
>
>
>----WebKitFormBoundaryFoo
>Content-Disposition: form-data; name="input"; filename="photos/conference/1.jpeg"
>Content-Type: image/jpeg
>
>
><contents>
>
>
>
>
>On Sat, May 29, 2010 at 10:22 AM, Sam Weinig <sam.weinig at gmail.com> wrote:
>
>How will the directory structure and all the files therein be represented in the form submission?
>>
>>
>>-Sam
>>
>>
>>On Fri, May 28, 2010 at 3:17 PM, John Gregg <johnnyg at google.com> wrote:
>>
>>Hi WebKit,
>>>
>>>
>>>I recently proposed adding directory upload support to HTML via a new <input> attribute to whatwg@, and the discussion arrived at "try it out".  Having written some code I think I have something that works pretty well, and I'd like to land it on an experimental basis in WebKit, but want to reach out early before trying to put any code in the tree.  The plan that comes to mind is a new ENABLE_DIRECTORY_UPLOAD flag, but I'm completely open to other options.
>>>
>>>
>>>Background (cf. the whatwg thread http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-April/025764.html): 
>>> - The use case for this is a photo album or file manager web application, which wants the user to easily choose an entire directory to recursively upload, while preserving the sub-directory structure.
>>> - The reason for the new attribute is to signal the UA to show a native folder-picker rather than a file-picker, which on most OSs are two distinct dialogs.
>>> 
>>>The approach I'm using has 2 parts and is a small amount of WebCore code (about 200 lines).
>>> - Extend HTMLInputElement to support the directory attribute, which is passed up via FileChooser allowing the UA to display a folder-picker.  UA enumerates all the files and returns them in the normal way.
>>> - Extend File to have a File.path property, which contains the path information starting from the chosen directory as the root.  HTMLInputElement is responsible for generating these values from the list of files when the directory attribute is set.
>>>
>>>
>>>Thoughts? 
>>>
>>>
>>>Thanks, 
>>> -John
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20100603/f2c770dd/attachment.html>


More information about the webkit-dev mailing list