【发布时间】:2011-06-10 09:23:06
【问题描述】:
我正在尝试使用 HTML5 功能上传文件。根据调查,我发现上传文件有 3 种不同的方式,
- 通过将文件编码为多部分:仅在支持文件阅读器时完成。
- 使用 XMLHTTP2(AJAX) 规范方法发送二进制数据:新方法 send(Blob/File) 能够通过网络发送二进制数据。
- FormData 对象:使用XMLHTTP(AJAX) send(FormData) 方法。
现在对于跨浏览器问题和功能检测,如下所示的 sn-p 很简单,
if(typeof FileReader == "undefined")
但是我不确定如何确定当前浏览器中 AJAX 的 send() 方法是否支持 send(FormData) or send(Blob/File) 方法实现。如何找到它?这里有 Object.property 技巧吗?还是有什么不同?
谢谢,
【问题讨论】:
-
通过阅读规范,在我看来,如果 typeof FileReader != 'undefined' 支持 send(Blob/File),但这纯粹是猜测
-
以上似乎是关于 FileReader 的吧? DataTranfer 对象在拖放中,但是我想知道如何检测 send(File),我们可以在其中以某种方式发现 AJAX 的 send() 方法是否支持 File 对象?
标签: javascript ajax html