我正在尝试使用HTML5功能上传文件。根据调查,我发现有3种不同的上传文件的方式,
现在,对于跨浏览器问题和功能检测,下面的代码段很简单,
if(typeof FileReader == "undefined")
但是我不知道如何确定当前浏览器中的AJAX的send()方法是否支持send(FormData)
or send(Blob/File)
方法实现。怎么找到它?这里有Object.property技巧吗?还是别的什么?
谢谢,
答案 0 :(得分:2)
要处理二进制数据,您需要使用WebSockets。这是新HTML5 spec的一部分。但是有一个问题。截至2010年12月中旬,由于缓存中毒漏洞,WebSockets在每个主要浏览器中都被禁用。
最后我听说这仍然是sorted out。
要在通过WebSockets发送文件之前上传文件,您应该使用每个浏览器的最新版本支持的FileReader API(据我所知)。
要检查FileReader是否受支持,您应该测试如下:
if (FileReader){
// It's supported
}
您还可以查看:
if (window.URL){
//
}
替代方案。