2017-04-23 66 views
0

我无法在Chrome中获取图像完整路径,但是在IE中使用相同的代码。每当我从其他位置选择图像,然后扔了误差MVC Chrome图像完整路径

类型“System.IO.FileNotFoundException”的异常出现在mscorlib.dll中,但在用户代码中没有处理 其他信息:找不到文件“ C:\ Program Files \ IIS Express \ Chrysanthemum.jpg'。

下面是我Controller代码

public ActionResult Create([Bind(Include = "id,Name")] Employee employee, HttpPostedFileBase file) 
{ 
    if (ModelState.IsValid) 
    { 
     string Name = @"C:\temp\yourfile.png"; 
     System.IO.File.WriteAllBytes(Name, System.IO.File.ReadAllBytes(file.FileName)); 

     employee.image = System.IO.File.ReadAllBytes(file.FileName); 
     db.Employees.Add(employee); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 
    return View(employee); 
} 

下面是我MVC代码

<input type="file" name="file" id="file" /> 
<input type="submit" name="submitButton" value="Save" /> 

因为这个问题我不能够在任何地方保存图像。 请帮我解决这个问题。

回答

0

有/可能有几个问题。

  1. 不要使用硬编码的本地文件路径,即C:\等,客人可以使用使用Server.Mappath
  2. 还要检查你想要的(在你的情况,即图像)访问该资源在您的MVC应用程序的相同或底层的虚拟目录
  3. 同时检查您是否拥有对上述资源的访问权限。

除非你想访问另一个域的资源,否则上述检查应该可以解决你的问题。

+0

嗨@Baua感谢您的回复。其实我不使用硬编码路径。它发生在例外。我从本地系统中选择图像,并希望将其保存在项目位置,但对于本身而言,它会引发错误。 –