Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 上载文件时另存为选项_C#_Asp.net Mvc - Fatal编程技术网

C# 上载文件时另存为选项

C# 上载文件时另存为选项,c#,asp.net-mvc,C#,Asp.net Mvc,我不确定这是否可能。我正在将文件上载到MVC web应用程序中的服务器。目前,它存储在我的项目文件夹中。 这是我的代码,运行良好 public ActionResult Upload(HttpPostedFileBase file) { try { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName);

我不确定这是否可能。我正在将文件上载到MVC web应用程序中的服务器。目前,它存储在我的项目文件夹中。 这是我的代码,运行良好

public ActionResult Upload(HttpPostedFileBase file)
{
    try
    {
        if (file.ContentLength > 0)
        {
            var fileName = Path.GetFileName(file.FileName);
            var path = Path.Combine(Server.MapPath("~/Documents"), fileName);
            file.SaveAs(path);
        }

        TempData["Message"] = "Upload successful";
        return RedirectToAction("Index");
    }
    catch
    {
        ViewBag.Message = "Upload failed";
        return RedirectToAction("Uploads");
    }
}

现在,我需要将文件存储在文件服务器上,并向用户提供一个选项,以创建目录并将文件存储在他们想要的位置。为此,我需要提供另存为选项。
如何在网络中的文件服务器上存储,以及如何在上载时提供另存为选项?

无法为用户提供开箱即用的控制级别;但是,您可以允许用户在单独的文本框中指定路径,并使用该文本框确定目录路径。或者,这听起来确实像一些共享主机所做的,即提供一个他们有权访问的文件夹结构的树状视图UI,他们选择一个文件夹,然后将目录路径传递回服务器,并将文件写入该目录。没有内置组件来完成我提到的所有事情(尽管有treeview控件)。如果有一个完整的产品,它可能是付费版本。

为什么要给用户在服务器上生成文件夹的选项?重点是什么?要求是这样的。由于它是单独共享的文件服务器,我想每个人都会根据自己的便利程度进行保存。然后只需添加一个文本框,用户就可以输入文件夹名称并将其与文件服务器路径相结合。如果我像你说的那样提供文本框,我可以看到两个缺点。。首先,用户将无法在主目录中创建子目录(如日期或类别),其次,如果文本框中输入的名称与其现有目录不匹配,则将创建一个新的不必要的目录。这可能会在下载文件时产生问题。第1点。是什么让你认为你不能创建子文件夹(当然可以)。第2点。如有必要,您可以提供下拉列表以选择现有文件夹。(但这一切都毫无意义)