[whatwg] Directory upload via <input type="file" directory>

The most relevant issue is that in Windows/Mac/Linux, there are no system
dialogs that let the user select either a folder or a file.  They each have
separate "choose a file" and "choose a folder" dialogs.  I think the logical
reason for that is that when selecting a file, clicking a directory means to
enter that directory and select from its files, not to choose that directory
as the result of selection.

Thus we would force UAs to reinvent file-picker interfaces in order to deal
with an input element that allows both folders and files.

 -John

On Tue, Apr 6, 2010 at 2:18 PM, Ojan Vafai <ojan at chromium.org> wrote:

> It's unfortunate that users need to distinguish between single and multiple
> file inputs. That's not something we can change at this point. The web
> started with single file inputs. We can avoid adding a third type of file
> input they need to understand though.
>
> Also, what should happen if you drag files and folders onto a "multiple" or
> "directory" input? Just drop the ones that are of the wrong type? I cannot
> imagine users making sense of that.
>
> It's not clear to me from your original email what issues you encountered
> during implementation that led to this proposal. Is it just the leaf name
> conflict issue? I agree that's a problem, but maybe there's a different
> solution to that?
>
> Ojan
>
> On Tue, Apr 6, 2010 at 12:53 PM, John Gregg <johnnyg at google.com> wrote:
>
>> That's a fair question, but how is it clear today whether an input can
>> accept multiple files vs. a single file using drag-and-drop?  Currently if I
>> drag multiple files onto an input that doesn't have 'multiple', I get only
>> the first one.  (In Chrome.)
>>
>> Some good default text from the UA, like "Choose folder..." instead of
>> "Choose file...", would go far to solve that, I think.
>>
>>  -John
>>
>> On Tue, Apr 6, 2010 at 12:38 PM, Ojan Vafai <ojan at chromium.org> wrote:
>>
>>> What about drag-drop? I should be able to drag a directory, a file, or a
>>> list of files onto an input, no? If not, how is this distinction shown to
>>> users? How will it be clear to users when they can do one or the other?
>>>
>>> Ojan
>>>
>>>
>>> On Thu, Apr 1, 2010 at 3:53 PM, John Gregg <johnnyg at 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
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20100406/52a79cbf/attachment-0001.htm>

Received on Tuesday, 6 April 2010 14:28:57 UTC