gpt4 book ai didi

javascript - 浏览器中的 HTML5 文件上传功能检测

转载 作者:太空狗 更新时间:2023-10-29 14:21:35 24 4
gpt4 key购买 nike

我正在尝试使用 HTML5 功能上传文件。根据调查,我发现有 3 种不同的上传文件方式,

  1. 通过将文件编码为多部分:这是在仅支持文件阅读器时完成的。
  2. 使用 XMLHTTP2(AJAX) 规范方法发送二进制数据:新方法 send(Blob/File)能够通过网络发送二进制数据。
  3. FormData 对象:使用 XMLHTTP(AJAX) send(FormData)方法。

现在对于跨浏览器问题和功能检测,下面的代码片段很简单,

if(typeof FileReader == "undefined")

但是我不确定如何确定当前浏览器中 AJAX 的 send() 方法是否支持 send(FormData) or send(Blob/File)方法实现。如何找到它?这里有 Object.property 技巧吗?或者有什么不同?

谢谢,

最佳答案

要处理二进制数据,您需要使用 WebSockets。这是新 HTML5 spec 的一部分.但是有一个问题。截至 2010 年 12 月中旬,由于缓存中毒漏洞,WebSockets 在所有主要浏览器中都被禁用。

最后我听说这仍然是 sorted out .

要在通过 WebSockets 发送文件之前上传文件,您应该使用 FileReader API每个浏览器的最新版本都支持(据我所知)。

要检查 FileReader 是否受支持,您应该像这样测试:

if (FileReader){
// It's supported
}

您还可以检查:

if (window.URL){
//
}

替代方案。

关于javascript - 浏览器中的 HTML5 文件上传功能检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4712427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com