拖放与使用快捷方式文件直接点击上传之间的行为不同

时间:2018-07-09 09:24:38

标签: html5 drag-and-drop filereader desktop-shortcut

我有一个基本的文件上传小部件,在几乎所有情况下都可以正常工作,但只是注意到它处理快捷方式的方式似乎与所有其他文件类型不同。

例如,当前的问题是,当用户单击直接在文件上载时单击上传并且您给它提供了快捷方式时,它将自动解析该快捷方式所指向的基础文件,每个人都很高兴。

但是,如果您将文件拖放到通过基础.lnk快捷方式文件发送的控件上,那么只是想知道为什么这里有不同的行为,以及在这里我做错了什么还是如果是因为浏览器将这两件事解释为不同的交互,则正确的做法是不遵循拖放方案中的快捷方式。

文件数据解析为:

var files = fileSelectionEvent.target.files || fileSelectionEvent.dataTransfer.files;

文件输入和拖放操作最终都指向同一个函数,而js事件只是被捕获并通过。

1 个答案:

答案 0 :(得分:1)

当您单击上传按钮时,它会显示系统提供的文件选择器。选择快捷方式文件(* .lnk)时,Windows会自动将其替换为快捷方式指向的实际文件。

在拖放文件时,Windows无法处理它们。因此,快捷方式文件是由浏览器直接接收的。