繁体   English   中英

选择目录ASP.NET MVC-5

[英]Select Directory ASP.NET MVC-5

我的部分要求是,用户需要能够导出HTML表(通过控制器填充)以实现excel。 我可以创建一个.csv并将其导出。 但是,我需要能够让他们选择目录。

HTML5回答

   <input type="file"> 

但是,这不允许您选择目录,而只能选择特定文件。

JavaScript

在我读过的所有地方,这都是很大的安全威胁。 尽管有一些技巧,但我真的不想使用它。

当您点击函数时,我试图从控制器对FolderBrowserDialog进行调用,但是我缺少程序集引用,并且找不到正确的引用。

我的问题 :如果必须让用户选择将文件导出到的目录,在ASP.NET MVC5项目中将如何处理? HTML5,JavaScript / JQuery,C#对我来说无关紧要。 没有安全威胁!

多谢你们

生成文件时,只需将“ Content-Disposition”标头设置为“ attachment”。 这将导致正常的浏览器保存对话框弹出,他们可以在任意位置浏览并保存该对话框。

因此,在您的ActionMethod中,我假设您正在执行以下操作:...创建csv ... return File(csvData,“ text / csv”);

该方法有一个接受默认文件名的重载。 如果设置文件名,它将自动为您添加content-disposition标头,并导致文件下载而不是打开。

返回File(csvData,“ text / csv”,“ somefile.csv”);

首先,当您说“选择要导出文件的目录”时,您是在谈论客户端还是服务器端? 如果要以下载的形式将其推送给用户,则您无法控制任何内容:它的存储位置或名称。

如果在服务器端进行通信,则可以使用以下两种方法之一进行处理。 您可以只使用目录选择填充选择列表,然后使用该列表在提交时构建路径。 或者,您可以采用更复杂的方法来尝试创建一个界面来浏览服务器的文件系统。 这里没有内置的帮助您; 您必须自己创建它或找一些第三方工具来为您做。 基本上,您只需要使用I / O工具来读取目录列表,然后以树样式层次结构将其呈现给用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM