gpt4 book ai didi

javascript - 从映射的网络驱动器获取 UNC 路径

转载 作者:行者123 更新时间:2023-11-29 10:19:22 27 4
gpt4 key购买 nike

我正在寻找一种从映射网络驱动器获取“真实”UNC 路径的方法——这是一个常见问题,但没有使用我想要的语言或方法。

我希望用户能够使用 HTML 表单选择文件,但不能上传它(文件很大)。我只想获得文件的完整 UNC 路径。问题是用户通常会从他们映射的网络驱动器(例如 g:\file.txt)中选择文件,这对我没有用 - 我必须有完整的 \\server\user\file.txt 路径。

我知道在 Windows 中,您可以在命令行中使用 net use 获取有关映射驱动器的信息,您还可以从 HKEY_CURRENT_USER\Network\driveletter,但我需要一种方法来从 HTML 表单中获取它。

我最初的想法是某种形式的 Javascript,但我怀疑是否可以通过这种方式访问​​注册表项。

最佳答案

您可以非常简单地使用一段非常简洁的 JavaScript 和一个已安装的 ActiveX 控件。下面是一个完整的网页,允许您浏览文件,然后在 alert 中显示所选文件的完整 UNC 路径:

<html> 
<head>
<script type="text/javascript" language="JavaScript">
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) == 0;
};
}

function getUNCPath() {
var fileName = document.getElementById("uploadedFile").value;

var WshNetwork = new ActiveXObject("WScript.Network");
var Drives = WshNetwork.EnumNetworkDrives();
for (i = 0; i < Drives.length; i += 2) {
if (fileName.startsWith(Drives.Item(i))) {
var fullPath = fileName.replace(Drives.Item(i), Drives.Item(i + 1));
alert(fullPath);
break;
}
}
}
</script>
</head>
<body>
<form onsubmit="getUNCPath()">
<input type="file" id="uploadedFile"/>
<input type="submit" value="Get the UNC Path!" />
</form>
<span id="uncPath"></span>
</body>
</html>

关于javascript - 从映射的网络驱动器获取 UNC 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14838192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com