<script language="vbscript">
Function Foder()
Const MY_COMPUTER = &H11&
Const WINDOW_HANDLE = 0
Const OPTIONS = 0
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, "请选择文件夹:", OPTIONS, strPath)
If objFolder Is Nothing Then
exit Function
End If
Set objFolderItem = objFolder.Self
objPath = objFolderItem.Path
document.frmList.FODER_PATH.value = objPath
End Function
</script>
<input type = "button" name = "path" size = "100" onclick="Foder()" value="选择文件夹" />
客户导入选择文件就用file就可以
<input type="file" name="DATA_RESTORE_PATH" maxlength="20" style="WIDTH: 100px" >
出于安全原因, js不能访问客户端资源. 所以js写不了客户端文件. 使用file类i-n-p-u-t标签可以在浏览器上实现浏览客户端文件系统, 但是只能获取文件名, 路径对于js是不可见的. 所以你的方法是实现不了的.实现导出文件的通常做法是在后台生成好文件后, 将url重定向到已生成的文件或使用异步方法返回文件url在前台使用i-f-r-a-m-e打开, 这样就能直接下载. 之后根据客户端的设置, 是下载还是直接调用关联程序打开文档. 以xls文件为例, 客户端已安装office, 大多数浏览器是会直接代开该文件的, 可以在excel中另存到任意路径. 不过这些就不是js所能控制的了.
后台代码实现方面, 直接在网站目录下生成文件当然方便, 但是存在安全方面的问题, 因为静态url无法控制访问权限. 最好是将文件生成在网站文件系统意外的独立区域存储, 将下载事务包装成动态页面, 读取文件使用b-i-n-a-r-y方式写入r-e-s-p-o-n-s-e(注意根据文件类型正确写入c-o-n-t-e-n-t Type, 这样浏览器才能正确识别为文件下载). 这样做的好处显而易见, 不管是安全方面还是其他逻辑都可自由扩展.
尼玛, 好多禁用的词汇, 回答js相关的问题各种河蟹