使用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”功能以及HttpBrowserCapabilities
类。
我的问题:
是否可以直接从浏览器功能中推断出浏览器支持 HTML5 File API 的能力?