[whatwg] creating a new file via the File API

David Karger karger at mit.edu
Thu Dec 15 15:58:32 PST 2011

It isn't clear to me that a "tag" question can be addressed by an "api" 
answer.   Even if there is an api for saving to file, isn't there value 
to being able to declare your intentions through a tag?  The <input 
type=file> tag specifies that a user will be able to interact to specify 
a file through a dialog.  There's absolutely no commitment that that 
file will actually be uploaded or input.  That's up to the form or the 
javascript that handles the input.  It seems entirely consistent to be 
able to permit specification of a brand new file in that dialog that 
<input type="file"> is already creating.   What some javascript _does_ 
with the specified file might need to be implemented using a filesaver 
api, but that's separate from the declaration of an interaction for 
specifying the file.

On 12/15/2011 6:45 PM, whatwg-request at lists.whatwg.org wrote:

On Mon, 15 Aug 2011, David Karger wrote:
/>/  Apologies if I'm revisiting old territory.  I've been doing work on pure
/>/  html/javascript applications that work entirely clientside
/>/  (http://projects.csail.mit.edu/exhibit/Dido).  For persistence, they
/>/  read and write local files.  There's already an<input type="file">
/>/  interface for letting the user specify a file to be read.  And I can use
/>/  the same interface, inappropriately, to let the user overwrite a
/>/  preexisting file.  But things get much messier if I want to let the user
/>/  specify a _new_ file to be written, because the file-open dialog doesn't
/>/  offer users a way to specify a new filename.  What I'd like to be able
/>/  to do is specify a tag, or a invoke some javascript method, that will
/>/  produce the "save file" dialog typical of most systems, with a graphical
/>/  directory browser but including the option to specify a new filename.
/>/  This problem isn't unique to me; a discussion on stackoverflow appears
/>/  at
/>/  http://stackoverflow.com/questions/2897619/using-html5-javascript-to-generate-and-save-a-file
/>/  where the proposed solution is to use flash---and that would be an
/>/  unfortunate loss of html5 purity.  They also suggest the hack of using a
/>/  data: url but that has size limitations.
/>/  Perhaps<input type="file">  could be given an attribute specifying
/>/  whether a new filename is permitted?
On Wed, 7 Sep 2011, Eric U wrote:
/>/  This sounds like a job for the FileSaver interface.  Currently no
/>/  browser implements it, but we at Chrome have been considering it.  At
/>/  TPAC last year we discussed it a bit in the WebApps WG meeting; IIRC we
/>/  talked about letting it take a URL instead of or in addition to just a
/>/  Blob, for more general utility.
/>/  I suggest you bring it up on public-webapps@, where that spec lives.
/>/  http://dev.w3.org/2009/dap/file-system/file-writer.html#idl-def-FileSaver
I agree that an API like FileSaver is the right way to do this. Using
<input type=file>  wouldn't really fit well because that's more for
providing data for upload than providing a file for writing.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/        U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list