ASP.NET MVC保存到客户端

时间:2016-04-13 08:54:04

标签: javascript c# asp.net-mvc asp.net-mvc-4

我需要在MVC应用程序上执行这些操作:

  1. 用户从网格中选择文件
  2. 该文件需要保存在共享文件夹中
  3. 用户使用Excel修改文件
  4. 该文件保存在同一个共享文件夹中
  5. 服务器守护程序将处理文件
  6. 我的主要问题(我不知道我是否可以使用它)是提示用户建议将文件保存在共享文件夹中......这可能吗?或者我可以通过javascript打开知道共享文件夹和文件名的文件吗?

3 个答案:

答案 0 :(得分:2)

如果您已在客户端的IIS和本地主机上托管了应用程序,则需要将文件保存到客户端。

看看这些代码,也许它会对你有帮助。

if (!string.IsNullOrEmpty(Path))
{      
     FileUpload file = new FileUpload();         
     string Folder = HttpContext.Current.Server.MapPath(Path);
     string Path = Path.Combine(Folder, File);
     file.SaveAs(Path);     
}

但必须共享文件夹的路径..

答案 1 :(得分:1)

由于安全限制,通过网络应用程序无法在客户端计算机上的特定位置本地保存文件,据我所知,这在所有已知浏览器中都是如此。使用共享文件夹或另一台计算机上的文件夹,可以从IIS服务器访问有效路径。

答案 2 :(得分:0)

在控制器中尝试此操作以获取客户端上的默认下载文件夹的路径:

  string filename = "YourFile.xls";
    string path = GetDownloadPath();

 private static string GetDownloadPath()
            {
                String path = String.Empty;
                RegistryKey rKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Main");
                if (rKey != null)
                    path = (String)rKey.GetValue("Default Download Directory");
                if (String.IsNullOrEmpty(path))
                    path = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\downloads";
                return path;
        }