我在JS中设置了一段拖放文件上传脚本(AJAX POST),但在 Safari - Version 5.0.3 (6533.19.4) 中过滤文件夹时遇到了困难。
每当我将多个文件/文件夹拖放到浏览器中时,Chrome会过滤出文件夹,Firefox会返回.size
为0,因此对这些情况进行保护很容易。
然而,Safari会返回一个 68 字节的文件(文件夹的大小)。
有没有办法测试这个File
(FileList
中的项目)是否是文件夹?
似乎在File/Blob API中找不到测试此条件的任何内容(尝试使用.type
没有意义,因为它对未知文件以及文件夹都返回空值...)
更多信息:
基本上,发生的情况是 AJAX 请求中的主体为空。我正在使用 FormData
进行上传:
var file = ...; // the dropped file
var formData = new FormData();
formData.append("file", file);
var xhr = new XMLHttpRequest();
...
xhr.send(formData);
isDirectory
属性,但 Safari 可能不支持。 - 1.21 gigawatts