从放置事件获取文件路径

J.C*_*art 8 javascript

我有一些 javascript 代码,允许用户在 IE 中拖放文件。

我遇到的问题是他们希望文件被拖动后删除,但我似乎无法获取文件路径,只能获取名称。

我见过很多对 的引用,但当我尝试时e.dataTransfer.files[0].path它总是会回来。'undefined'

任何想法为什么e.dataTransfer.files[0].path不起作用,或者我如何获取文件路径?

 $(document).ready(function (ex) {
        var holder = document.getElementById('holder');
        holder.ondragover = function () { this.className = 'hover'; return false; };
        holder.ondrop = function (e) {
            e.preventDefault();
            var file = e.dataTransfer.files[0];
            var path = e.dataTransfer.files[0].path;
            fileArray.push(file);
            //alert(e.target.id);
            var reader = new FileReader();
            reader.readAsDataURL(file);
        };
    });
Run Code Online (Sandbox Code Playgroud)

tin*_*ino 9

这对于网络应用程序来说是不可能的,但如果您的用户将在他们的计算机上运行应用程序,您可以构建一个电子应用程序。在电子内部,您可以获得该e.dataTransfer.files[0].path属性,然后可以使用该属性来删除文件。

https://www.electronjs.org/


dmi*_*igo 1

该文件没有 property path

您可以在此处进行试验,并且可以在此处找到文件属性的完整列表。

要读取文件,可以像您一样使用FileReaderpath ,而无需显式使用。