asp.net - 如何在用户单击 asp.net Web 应用程序时打开文件夹
问题描述
每当用户单击网页时,我想打开一个位于我的应用程序根目录下的文件夹对话框。这个想法是对服务器进行 ajax 调用,然后服务器通过向 用户显示文件系统浏览器对话框来返回,该对话框显示服务器上文件夹中的所有文件。 我唯一缺少的是服务器端部分。这是服务器端的样子,但它不完整,正在寻找想法......
public ActionResult OpenFolder()
{
var folderContents = Server.MapPath("~/Uploads/")); //The folder to open is named Uploads
return Content(folderContents);
}
解决方案
您将需要呈现您自己的文件浏览器控件。由于安全原因,网页无法打开客户端计算机的文件浏览器对话框。例如,遍历文件服务器端,构建一个带有文件名的 json 字符串,然后将该 json 反馈给浏览器。在客户端代码中,使用 javascript 从返回的 json 中呈现树视图甚至是简单列表。或者,谷歌树视图控件,阅读它们的工作原理,然后将返回的 json 作为数据源插入其中。
推荐阅读
- html - 用户注册表单中应该允许和拒绝哪些字符(姓名、地址、电话等)?
- python-3.x - 如何打印上一个打印行的更改?
- vue.js - 如何在 Nuxt Vue 的单个模板中添加多个组件?
- javascript - 与本地数据库交互的仪表板网站
- react-native - Socket Io 不使用反应钩子监听事件
- css - css动画被拉长了
- matrix - 如何将嵌套向量矩阵转换为嵌套向量向量
- python - Python:在异步函数中调用异步类
- mysql - 嗨,我如何使用 mysql 显示城市中薪酬第二高的员工
- hadoop - 格式化namenode后如何恢复datanode的版本文件