Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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# Directory.CreateDirectory正在创建Visual Studio无法访问的文件夹_C#_Asp.net Mvc - Fatal编程技术网

C# Directory.CreateDirectory正在创建Visual Studio无法访问的文件夹

C# Directory.CreateDirectory正在创建Visual Studio无法访问的文件夹,c#,asp.net-mvc,C#,Asp.net Mvc,以下代码用于在项目目录中创建新文件夹: [HttpPost] [ActionName("Create")] public ActionResult Create(Item model) { string s = model.Category.Name; if (ModelState.IsValid && model.imageUpload != null && model.imageUpload.ContentLength > 0)

以下代码用于在项目目录中创建新文件夹:

[HttpPost]
[ActionName("Create")]
public ActionResult Create(Item model)
{
    string s = model.Category.Name;
    if (ModelState.IsValid && model.imageUpload != null && model.imageUpload.ContentLength > 0)
    {
        string initialPath = string.Format("~/Images/Products/" + s + "/"); 
        var virtualPath = Path.Combine(initialPath, model.imageUpload.FileName); 
        var d = Directory.CreateDirectory(string.Format(Server.MapPath(initialPath)));             
        var extension = Path.GetExtension(model.imageUpload.FileName);
        var validImageTypes = new[] { ".gif", ".GIF", ".jpg", ".JPG", ".jpeg", ".JPEG", ".pjpeg", ".PJPEG", ".png", ".PNG" };
        if (!validImageTypes.Contains(extension))
        {
            ModelState.AddModelError("imageUpload", "Please add a valid format picture (i.e., a .gif,.jpg or .png image");
            return View();
        }
        model.imageUpload.SaveAs(Server.MapPath(virtualPath));
        model.imageUrl = virtualPath;

        db.Items.Add(model);
        db.SaveChanges();
        TempData["name"] = model.ItemName;
        return RedirectToAction("Create");
    }
    model.Categories = new SelectList(db.Categories.ToList(), "Name", "Name");
    model.Brands = new SelectList(db.Brands.ToList(), "Name", "Name");
    return View(model);
}
代码运行起来很快,并在所需目录下创建所需文件夹。当前出现的问题是,当从新创建的文件夹中读取时,Visual studio无法从该文件夹中读取,并且浏览器在从该文件夹中读取时抛出404(未找到文件)错误

这与权限有关吗?我检查了新创建的文件夹权限,这些权限设置为“所有人”的“完全访问”


有人能给我引路吗

您可能需要为该路径添加一个静态文件处理程序-如果它位于web应用程序的路径下,那么IIS将不会提供静态文件,因为这存在安全风险


用读取并返回文件的操作替换文件的URL,或者在web.config中为该路径添加静态文件处理程序。

用于从文件夹读取的邮政编码?我打赌你的路径是错误的……如果路径正确,visual studio可以读取该路径。@Milney-以上代码仅用于创建文件夹。我正在从
视图中的GET方法读入文件夹。你刷新过你的页面吗?@Dad。发生这种情况是因为浏览器从缓存中提供了一个页面,所以当时在那里找不到文件。