Existe-t-il une possibilité d’utiliser App_Browsers pour détecter la prise en charge de l’API de fichier HTML5?

En utilisant l’ API de fichier HTML5 pour télécharger des fichiers, j’utilise actuellement une vérification codée en dur des navigateurs qui les prennent en charge, en fonction de la chaîne de l’agent d’utilisateur:

internal bool IsHtml5FileUploadCapable { get { var browser = Request.Browser; var n = browser.Browser.ToLowerInvariant(); var major = browser.MajorVersion; var minor = browser.MinorVersion; return n.Contains(@"chrome") && major >= 6 || n.Contains(@"ie") && major >= 10 || n.Contains(@"firefox") && (major >= 3 && minor > 6 || major >= 4) || n.Contains(@"opera") && (major >= 11 && minor >= 5 || major >= 12) || n.Contains(@"safari") && major >= 4; } } 

Ce que j’aime utiliser est la fonctionnalité intégrée “App_Browsers” associée à la classe HttpBrowserCapabilities .

Ma question:

Est-il possible de déduire la capacité d’un navigateur à prendre en charge l’API de fichier HTML5 directement à partir des fonctionnalités du navigateur?

Ce n’est peut-être pas exactement ce que vous demandez, mais jeter un coup d’œil sur la bibliothèque javascript, appelée Modernizr ( http://www.modernizr.com/docs/ ), pourrait vous être utile. Il s’agit bien sûr d’une vérification côté client et non d’une vérification côté serveur.

Il est capable de détecter de nombreuses fonctionnalités HTML5.