Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery.support to detect JavaScript's File API?

I can't find the way to detect if the browser supports the File API through the .support methon in jQuery.

Anyone knows it?

(Incidentally: a way to detect the size of a file in input[type=file] with IE?)

like image 584
Naoise Golden Avatar asked Sep 09 '11 11:09

Naoise Golden


2 Answers

Another way to check is just by checking the presence of the File API types:

var FileApiSupported = !!('File' in window &&
                          'FileReader' in window &&
                          'FileList' in window &&
                          'Blob' in window);
like image 137
glebm Avatar answered Sep 29 '22 08:09

glebm


It does not seem to be implementd in jQuery, but you could check yourself: http://jsfiddle.net/pimvdb/RCz3s/.

The files property of an <input type='file'> returns an empty FileList if it's implemented, and otherwise it is not defined (i.e. it is undefined).

var support = (function(undefined) {
    return $("<input type='file'>")    // create test element
                 .get(0)               // get native element
                 .files !== undefined; // check whether files property is not undefined
})();
like image 35
pimvdb Avatar answered Sep 29 '22 06:09

pimvdb