网页是否可以弹出打开的文件夹对话框,要求用户选择文件夹,然后在网页的列表(或其他内容)中显示该文件夹的内容。 它不会写入文件,只会读取它们。 该网页是远程托管的。
乔纳森
答案 0 :(得分:5)
总之......没有。
要求为您的应用程序使用ActiveX插件是一个彻底失败的邀请。除非您为控制客户端配置的Intranet编写特定于目标的应用程序,否则这只是一个可怕的想法。
基于Web的应用程序可以做什么有严格的限制,这就是其中之一。你想达到什么目的?也许有一种方法可以使用标准文件上传对话框来完成它?还是WebDAV?
答案 1 :(得分:1)
我写了一小段代码,显示了给定文件夹名称的文件列表。它是使用VBScript编写的,因此仅适用于IE和FireFox(也许仅适用于Windows)。但值得一看
<HTML>
<HEAD>
<SCRIPT LANGUAGE='VBSCRIPT'>
Sub showfiles()
On Error Resume Next
Dim fso, folder, files, sFolder, path
Set fso = CreateObject("Scripting.FileSystemObject")
sFolder = Document.getElementById("fdr").value
Set folder = fso.GetFolder(sFolder)
Set files = folder.Files
For each folderIdx In files
mydiv.innerhtml=mydiv.innerhtml & "<BR/> " & folderIdx.Name
Next
end sub
</SCRIPT>
</HEAD>
<BODY>
<INPUT id="fdr" TYPE="TEXT" VALUE="C:\" />
<INPUT TYPE="BUTTON" ONCLICK="showfiles()" value="show files" />
<DIV id="mydiv"></DIV>
</BODY>
</HTML>
答案 2 :(得分:1)
您可以使用签名的Java Applet,这是一种相当常见的解决方案。它适用于各种浏览器和平台。所有用户都必须接受一次证书并安装java运行时。
或者你可以写一个浏览器插件。
答案 3 :(得分:0)
已修改: - 查看this。可能是一种解决方法。
答案 4 :(得分:0)
它会让你(或你的使用者)跳过千箍,但ActiveX文件系统对象可能会用来做你想要的......
http://msdn.microsoft.com/en-us/library/bkx696eh%28VS.85%29.aspx
编辑 - 添加“可能”
答案 5 :(得分:0)
使用JavaScript无法实现,因为它无法使用操作系统。
是,但是,这是一种使用VBScript(ASP.NET)的方法,但IE会在允许代码执行之前向用户发出安全警告< / b>他们的安全级别低于中低。
如果您尝试通过Internet访问本地文件,那么最好的选择(在找到漏洞并以此方式获取访问权限之外,即使用Java或Flash)。
如果你还想要代码(对于ASP / VBscript):
Dim FileSystem
Set FileSystem = GetObject("Scripting.FileSystemObject")
If Err.Number <> 0 Then
MsgBox("Error setting FileSystem object; check WSH version.")
WScript.Quit(0)
End If
Dim Folder
Set Folder = FileSystem.GetFolder("folder_name")
If Err.Number <> 0 Then
MsgBox("Error getting folder.")
WScript.Quit(1)
End If
-Carlos Nunez