我正在创建一个 ASP.NET MVC Web应用程序,该应用程序为用户输入的信息序列化JSON文件。我遵循的基本模板的操作如下:
string jsonData = JsonConvert.SerializeObject(rootObject);
string path = Server.MapPath("~/App_Data/");
System.IO.File.WriteAllText(path + ticket.TicketNumber + ".json", jsonData);
TempData["msg"] = " Json file Generated! Json files generated here can be found in *** ";
return RedirectToAction("Index");;
当我开始尝试弄清楚如何为用户添加一种方法以输入他们想要在本地保存文件的位置时(以便他们轻松地将文件签入到 TFS,而不是将文件从应用数据文件夹移动到所需的文件夹(,我意识到这仅在 Web 应用程序的目录中运行。除了Server.MapPath((之外,还有其他东西吗?我可以用来指定用户 C:\ 驱动器中的位置吗?
您提供的代码仅将文件保存在服务器上,而不保存在客户端上。
如果您希望他们下载文件并将其保存在本地,则需要先将文件保存在服务器上(就像您已经在做的那样(,确保文件保存在公开可用的文件夹下,并在视图上为用户提供链接,他们可以单击该链接下载文件。
该链接将触发浏览器的下载机制并弹出"保存文件"对话框,以便他们可以选择要保存文件的位置。
还有其他方法可以实现文件下载。有关更多详细信息,请查看Controller
类的 File 方法。