从放置事件获取文件路径

时间:2019-11-15 15:31:58

标签: 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);
        };
    });

3 个答案:

答案 0 :(得分:1)

该文件没有属性path

您可以尝试使用here,并找到here的文件属性的完整列表。

要读取文件,您可以像以前一样使用FileReader,而不必显式使用path

答案 1 :(得分:1)

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

https://www.electronjs.org/

答案 2 :(得分:0)

尝试了所有可能的内容后,我认为这是不可能的。