In cases where we're having users upload content, we definitely wouldn't want 
to block them uploading individual files, while also allowing them to upload 
directories.

I would be tempted to make name the fully qualified path to the file (so it 
remains unique), and add a third "filename" attribute that is the name of the 
file in the directory for applications that need it?

On Thu, Apr 1, 2010 at 3:53 PM, John Gregg <john...@google.com> wrote:
For context, Ian Fette started a thread about uploading directories of files in 
December: 
http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-December/024455.html 

At that time, it was thought that directory upload could be implemented by a UA 
in response to a <input type="file" multiple> tag using different UI only, and 
modifying the FileAPI spec to allow path information in the form

input.files[0].name="1.jpg"
input.files[0].path="a"
input.files[1].name="2.jpg"
input.files[1].path="a/b"
input.files[2].name="3.jpg"
input.files[2].path="a/c"

I've started developing a prototype of this in WebKit/Chromium.  Based on what 
I've encountered so far, I would like to propose adding directory upload 
functionality using an explicit new 'directory' attribute on the file input 
element. 

The existing behavior of <input type="file" multiple> would not change, but 
when processing <input type="file" directory>, the UA would display a directory 
selection UI and store the path information, and not allow individual files to 
be selected.  It would allow multiple files to have the same leaf name (.name 
attribute), as long as the paths were different.  The path attributes would 
include the name of the chosen directory 

This would be preferable for several reasons:
 - Most built-in file system UI on major platforms (Windows/Mac/Linux) have 
distinct dialogs for choosing files and choosing directories.  Allowing the UA 
to use these directly makes sense rather than creating hybrids.
 - Avoiding "leaf name" conflicts in a directory tree is not feasible in many 
applications -- asking a user to ensure unique photo names in a large set of 
albums before uploading would fail to meet that use case.  Therefore HTML 
documents should know in advance whether the path information will be relevant 
in the eventual storage of the files.  Sites currently using <input type="file" 
multiple> would have compatibility problems with an implementation which 
allowed conflicting file names along different paths.

What are your thoughts about adding the 'directory' attribute?

Thanks,
 -John


Reply via email to