<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial, helvetica, sans-serif;font-size:10pt"><div>&gt;&nbsp;<span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; ">Other alternatives?</span></div><div><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; "><br></span></div><div><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; ">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.</span></div><div><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; "><br></span></div><div><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times,
 serif; font-size: 16px; ">Dave</span></div><div><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; "><br></span></div><div style="font-family:arial, helvetica, sans-serif;font-size:10pt"><br><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> John Gregg &lt;johnnyg@google.com&gt;<br><b><span style="font-weight: bold;">To:</span></b> Sam Weinig &lt;sam.weinig@gmail.com&gt;<br><b><span style="font-weight: bold;">Cc:</span></b> webkit-dev@lists.webkit.org<br><b><span style="font-weight: bold;">Sent:</span></b> Tue, June 1, 2010 3:09:00 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [webkit-dev] Directory upload experimental feature<br></font><br>
My proposal for that is that all the files would be listed in the form submission the same way as if it were a &lt;input type="file" multiple&gt;, but in the Content-Disposition header, the filename component would contain the path information.&nbsp;<div>
<br></div><div>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. &nbsp;Other alternatives?</div>
<div><br></div><div><div>Example follows.</div><div><br></div><div>&nbsp;-John<br><div><br></div><div>If you are have these files</div><div>/home/John/photos/vacation/1.jpeg</div><div>/home/John/photos/vacation/2.jpeg</div><div>
/home/John/photos/conference/1.jpeg</div><div><br></div><div>and choose "photos" from the directory picker, you'd end up with</div><div>input.files[0].name = "1.jpeg"</div><div>input.files[0].path = "photos/vacation/1.jpeg"</div>
<div><div>input.files[1].name = "2.jpeg"</div><div>input.files[1].path = "photos/vacation/2.jpeg"</div></div><div><div>input.files[2].name = "1.jpeg"</div><div>input.files[2].path = "photos/conference/1.jpeg"</div>
</div><div><br></div><div>Your POST would look like</div><div><span class="Apple-style-span" style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;">Content-type: multipart/form-data; boundary=----WebKitFormBoundaryFoo</span></div>
<div><span class="Apple-style-span" style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;"><div><br></div><div>----WebKitFormBoundaryFoo</div><div>Content-Disposition: form-data; name="<span class="Apple-style-span" style="border-collapse:separate;font-family:arial;font-size:small;">input</span>"; filename="photos/vacation/1.jpeg"</div>
<div>Content-Type: image/jpeg</div><div><br></div><div>&lt;contents&gt;</div><div><br></div><div><div><div>----WebKitFormBoundaryFoo</div><div>Content-Disposition: form-data; name="<span class="Apple-style-span" style="border-collapse:separate;font-family:arial;font-size:small;">input</span>"; filename="photos/vacation/2.jpeg"</div>
<div>Content-Type: image/jpeg</div><div><br></div><div>&lt;contents&gt;</div></div></div><div><br></div><div><div>----WebKitFormBoundaryFoo</div><div>Content-Disposition: form-data; name="<span class="Apple-style-span" style="border-collapse:separate;font-family:arial;font-size:small;">input</span>"; filename="photos/conference/1.jpeg"</div>
<div>Content-Type: image/jpeg</div><div><br></div><div>&lt;contents&gt;</div></div><div><br></div></span></div><div><br><div class="gmail_quote">On Sat, May 29, 2010 at 10:22 AM, Sam Weinig <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:sam.weinig@gmail.com" target="_blank" href="mailto:sam.weinig@gmail.com">sam.weinig@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">How will the directory structure and all the files therein be represented in the form submission?<br><br><div>-Sam</div>
<div><br><div class="gmail_quote"><div><div></div><div class="h5">On Fri, May 28, 2010 at 3:17 PM, John Gregg <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:johnnyg@google.com" target="_blank" href="mailto:johnnyg@google.com">johnnyg@google.com</a>&gt;</span> wrote:<br>

</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">Hi WebKit,<div><br></div><div>I recently proposed adding directory upload support to HTML via a new &lt;input&gt; attribute to whatwg@, and the discussion arrived at "try it out". &nbsp;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. &nbsp;The plan that comes to mind is a new ENABLE_DIRECTORY_UPLOAD flag, but I'm completely open to other options.</div>




<div><br></div><div><span>Background&nbsp;(cf. the whatwg thread&nbsp;<a target="_blank" href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-April/025764.html">http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-April/025764.html</a>):&nbsp;</span></div>



<div>&nbsp;- 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.</div><div>&nbsp;- 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.</div>



<div>&nbsp;</div><div>The approach I'm using has 2 parts and is a small amount of WebCore code (about 200 lines).</div><div>&nbsp;- Extend HTMLInputElement to support the directory attribute, which is passed up via FileChooser allowing the UA to display a folder-picker. &nbsp;UA enumerates all the files and returns them in the normal way.</div>




<div>&nbsp;- Extend File to have a File.path property, which contains the path information starting from the chosen directory as the root. &nbsp;HTMLInputElement is responsible for generating these values from the list of files when the directory attribute is set.</div>



<div><br></div><div>Thoughts?&nbsp;</div><div><br></div><div>Thanks,&nbsp;</div><div>&nbsp;-John</div><font color="#888888"><div><br></div><div><br></div>
</font><br></div></div>_______________________________________________<br>
webkit-dev mailing list<br>
<a rel="nofollow" ymailto="mailto:webkit-dev@lists.webkit.org" target="_blank" href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br><span>
<a target="_blank" href="http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev">http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev</a></span><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div></div></div>
</div></div><div style="position:fixed"></div>


</div></body></html>