是否有机会使用App_Browsers来检测HTML5 File API的支持?

使用HTML5 File API上传文件,我目前正在使用一些硬编码检查支持它们的浏览器,具体取决于用户代理字符串:

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; } } 

我喜欢使用的是内置的“App_Browsers”function以及HttpBrowserCapabilities类 。

我的问题:

是否有可能推断出浏览器直接从浏览器function支持HTML5文件API的能力?

它可能并不完全是您所询问的内容,但查看名为Modernizr( http://www.modernizr.com/docs/ )的javascript库可能对您的用例有用。 当然,它是客户端检查而不是服务器端检查。

它能够检测到相当多的HTML5function。