FireFox中如何区分文件夹和文件拖放Ajax上传

Posted

技术标签:

【中文标题】FireFox中如何区分文件夹和文件拖放Ajax上传【英文标题】:How to distinguish folders and files drag and drop Ajax upload in FireFox 【发布时间】:2013-12-21 03:16:59 【问题描述】:

我找不到在 FireFox Ajax 中区分文件夹和文件的方法。看起来 FireFox FileAPI 中没有任何迹象可以判断这是文件夹还是文件。

但是,我发现 Google 文档以某种方式可以区分文件夹和文件删除。它不依赖扩展名或文件长度,没有扩展名的文件可以正确上传,0-lenth 文件也可以正常上传。

FF在D&D时如何区分文件和文件夹?

【问题讨论】:

【参考方案1】:

This 博客文章建议尝试读取文件并对如果它是文件夹将引发的异常做出反应。

if (!f.type && f.size%4096 == 0 && f.size <= 102400) 
    try 
        reader = new FileReader();
        reader.readAsBinaryString(f);
     catch (NS_ERROR_FILE_ACCESS_DENIED) 
    //file is a directory
    

一般来说:首先假设文件夹是一个文件并将其视为一个文件,在某些时候会出现问题,您可以对此做出反应。

【讨论】:

以上是关于FireFox中如何区分文件夹和文件拖放Ajax上传的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 中的 HTML5 拖放文件夹检测。甚至可能吗?

没有AJAX的拖放文件上传,在前台同步?

JQuery - 拖放文件 - 如何获取文件信息?

Knockout.js 使用我的“DragEnter”和“Dreagleave”功能在 Firefox 浏览器上拖放有问题

为啥我的音频文件不能在 Firefox 中播放?

ColdFusion无法读取Ajax发送的FormData