10
votes

Comment détecter si le navigateur prend en charge le téléchargement de fichier? (Mobile + bureau)

Je développe une application pour les navigateurs mobiles et de bureau. Je me demande s'il y a de toute façon détecter si un navigateur prend en charge le téléchargement de fichier. Je cherche spécifiquement la détection de fonctionnalités et non la détection de navigateur. Y a-t-il un moyen de savoir?

côté serveur ou côté client est bien.

merci


0 commentaires

4 Réponses :


5
votes

Vous pouvez utiliser Framework modernizr avec formulaires-fileInput code> extension. Essayez.

if Modernizr.fileinput
  // you can use file inputs


5 commentaires

Pourriez-vous inclure dans votre réponse une sorte d'exemple d'utilisation à la fois de la modernisation et de l'extension de l'API de fichier? Par exemple, une fois l'extension ajoute le test de filereader, comment puis-je l'utiliser?


J'ai bulled ceci à la hâte, mais après avoir étudié un peu plus, j'ai réalisé que c'est une bonne réponse, et Stupid Stackoverflow ne me laissera pas la voter. Désolé :(


c'est bon. 1 Downvote ne me fait pas mal. Au moins la réponse peut vous aider à certains égards.


C'est un bon conseil, mais je penserais, vous avez plutôt besoin de l'extension «Forms-FileInput» que l'extension «File-API», si vous souhaitez simplement vérifier, si vous voulez simplement vérifier, le périphérique peut gérer les téléchargements de fichiers.


J'ai mis à jour la réponse pour faire référence à formulaires-fileInput car il s'agit de l'extension correcte à utiliser.




7
votes

Vous pourriez être intéressé de lire cet article sur le type d'entrée actuel = Support de fichier sur mobile et comment le détecter: http://viljamis.com/blog/2012/file-upload-support-on-mobile/ (la détection est actuellement testée pour fonctionner sur ~ 120 combinaisons de navigateur mobile / OS mobiles différents ).

Fondamentalement, nous utilisons simplement une détection similaire que le modernizr, mais utilisez la détection UA ​​en tant que sauvegarde pour filtrer ces navigateurs mobiles qui signalent faussement le support (il ne semble vraiment pas être autre moyen de la détecter de manière fiable que d'utiliser Ces deux, détection de fonctionnalités et détection de navigateur).


1 commentaires

Le vôtre est une solution bien meilleure que la réponse acceptée et je dirigerais n'importe qui à examiner cette question à envisager d'utiliser cette solution plutôt que celle acceptée.



2
votes

modernizr strong> prend en charge une vérification pour savoir si les téléchargements de fichier sont pris en charge ou non. de: Quel est le meilleur façon de vérifier si l'utilisateur peut télécharger des fichiers? p>

if(navigator.userAgent.match(/(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/)) {
    return false;
}
var elem = createElement('input');
elem.type = 'file';
return !elem.disabled;


0 commentaires