我想为我的用户提供在本地计算机上选择目录路径的选项(而不是选择实际文件)。
这样他们就可以将xml文件保存到硬盘上的目录中。当用户选择我希望将该路径传递给我的代码的目录时,该代码然后将数据从xml文件加载到我的数据库中。
我知道我可以让用户选择一个文件:
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
但这不是我想要的,我希望他们只选择目录。
有人可以建议是否可以在MVC应用程序中轻松完成。
答案 0 :(得分:0)
Web应用程序无法直接写入用户的计算机。您可以做的最好的事情是提供可下载的链接,用户需要从浏览器中执行 SAVE AS 。
在您的情况下,忘记目录路径,只需在网页上提供一个链接/按钮即可获取XML文件。
点击,从数据库生成XML文件,并使用以下代码段为用户提供下载提示。
// code on the click of the button/link
FileInfo file = new FileInfo(tempFilePathOnServer);
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + file.Name + "\"");
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "text/xml";
Response.Flush();
Response.TransmitFile(file.FullName);
Response.End();