如何从文件系统中获取已删除文件夹的完整路径

Posted

技术标签:

【中文标题】如何从文件系统中获取已删除文件夹的完整路径【英文标题】:How to get fullpath of dropped folder from file system 【发布时间】:2016-05-15 02:30:31 【问题描述】:

我正在尝试在我的应用程序中实现拖放,这需要删除文件夹的完整路径。

我做过类似的事情

<html>
<head>
<style>
#dropzone 
    height:200px;
    width: 200px;
    border: 10px dashed #0c0;
    background-color:cyan;

</style>                  
</head>
<body>

<div id="dropzone" droppable="true" ondrop ="drop(event)" ondragenter="return false" ondragover="return false">
</div>

<script type="text/javascript">  
function drop(e) 
    e.stopPropagation();
    e.preventDefault();
    var length = e.dataTransfer.items.length;
    for (var i = 0; i < length; i++) 
        var entry = e.dataTransfer.items[i].webkitGetAsEntry();
        if (entry.isDirectory) 
            alert(entry);//here i need to get path of folder being dropped.
        
    

</script>
</body>
</html

如果我在for loop 内提醒e.dataTransfer.files[i].name,那么它只会显示文件夹的名称,而不是路径。

Javascript 是否允许访问本地文件系统?或者有什么解决方法?

【问题讨论】:

【参考方案1】: getAsFile 确实公开路径属性。 -- 不在 Chrome 中 -- 在 IE 中,甚至 dataTransfer.items 都不支持。

【讨论】:

【参考方案2】:

试试

e.dataTransfer.files[0].path

这将为您提供文件夹路径。

【讨论】:

items[i].getAsFile().path 没有给出路径和这个。那么为什么很多人反对这个? 这适用于 Electron,但我认为就是这样。

以上是关于如何从文件系统中获取已删除文件夹的完整路径的主要内容,如果未能解决你的问题,请参考以下文章

如何从注册表中获取ArcGIS的安装路径

如何从注册表中获取ArcGIS的安装路径

如何在不使用文件或文件路径的情况下获取文件系统(不仅仅是已安装的)中 APK 文件的信息?

Java - 如何从绝对路径中获取文件名并删除其文件扩展名?

git如何删除已经 add 的文件 (如何撤销已放入缓存区文件的修改)

git 如何删除已经 add 的文件 (如何撤销已放入缓存区文件的修改)