[whatwg] Make files attribute of the input element writable
Adam Barth
w3c at adambarth.com
Tue May 22 23:57:55 PDT 2012
On Tue, May 22, 2012 at 9:16 PM, Maciej Stachowiak <mjs at apple.com> wrote:
> It seems like making FileList mutable would serve the same use case and would also be more flexible (as you could upload a set of files collected from possibly multiple sources). And it seems like adding is a more likely desired behavior than replacing when dragging files onto a multi-file input.
>
> I have not yet fully thought through the security implications of either case. Do you have any security analysis you could share? For instance, is there an exhaustive list of ways a Web page could obtain a FileList, and are we confident that all are safe for this use?
A FileList is just a list of File objects:
http://www.w3.org/TR/FileAPI/#dfn-filelist
Each File object represents the actual file, which means you can use
the File API to read the contents of the files on the client already.
> Also: wouldn't anyone doing fancy drag-n-drop file upload be likely to use XHR for upload rather than a form submission?
Not necessarily. In the applications that Nico was working on, he
wanted to combine the file upload with other form elements into one
POST to the server.
Adam
> On May 22, 2012, at 10:41 AM, Nico Weber <thakis at chromium.org> wrote:
>> Hi,
>>
>> The files attribute of the input element is currently marked readonly
>> [1], to protect from `myInput.files = "/etc/passwd"; myForm.submit()`.
>> Since its type is now FileList and not string, that's no longer
>> necessary.
>>
>> Making the attribute writable would allow setting the files property
>> of an input element to dataTransfer.files from a drop handler. For
>> example, I would like to use this to create a larger drop-target for a
>> file input. Here's one request for this functionality:
>> http://stackoverflow.com/questions/8006715/drag-drop-files-into-standard-html-file-input
>>
>> Can the readonly restriction be removed from the spec?
>>
>> Nico
>>
>>
>> 1: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#the-input-element
>
More information about the whatwg
mailing list