首页 > 解决方案 > 从 Drop 事件中获取文件路径

问题描述

我有一些 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);
        };
    });

标签: javascript

解决方案


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

https://www.electronjs.org/


推荐阅读