Asp.net mvc ASP.NET MVC中未显示图像
在Asp.net mvc ASP.NET MVC中未显示图像,asp.net-mvc,Asp.net Mvc,在ASP.NET MVC应用程序中,文件成功保存到文件夹中,其URL保存到SQL数据库。使用此URL从文件夹在浏览器中加载文件时出现问题。代码实现是: [HttpPost] [ActionName("UploadPhoto")] public ActionResult UploadPhoto(HttpPostedFileBase photoPath) { var fileName = Path.GetFileName(photoPath.FileName
ASP.NET MVC
应用程序中,文件
成功保存到文件夹中,其URL
保存到SQL数据库
。使用此URL
从文件夹在浏览器中加载文件时出现问题。代码实现是:
[HttpPost]
[ActionName("UploadPhoto")]
public ActionResult UploadPhoto(HttpPostedFileBase photoPath)
{
var fileName = Path.GetFileName(photoPath.FileName);
string path;
if (photoPath.ContentLength > 0)
{
path = Path.Combine(Server.MapPath("~/Images/photos"), fileName);
photoPath.SaveAs(path);
return RedirectToAction("CreateWithImage", new { path = path });
}
return View();
}
public ActionResult CreateWithImage(string path)
{
employee em = new employee();
em.districts = new SelectList(hc.districts, "name", "name");
em.photoPath = path;
return View(em);
}
文件(图像)在视图中呈现为:
@model HRMS.Models.employee
<dd>
@Html.Image(@Model.photoPath)
</dd>
调用View时,我看到图像的链接断开。加载页面(视图)的HTML(具有正确的文件路径)如下所示:
<dd>
<img src="/App_Data/photos/1.png" />
</dd>
当我尝试在浏览器中运行图像的物理路径时,即,请求的URLhttp://localhost:57852/App_Data/photos/1.png
,它正在抛出HTTP错误404.8-找不到错误
我哪里会错呢?请帮忙 不相关,但删除ViewBag.upload=“成功!照片已成功上载。”代码>-您的重定向将不起任何作用。并删除TempData[“filePath”]=fpath
和字符串fp=Convert.ToString(TempData[“filePath”])编码>并使用'em.photoPath=path;接下来,声明字符串路径;在
if`之前阻塞并仅使用path=path.Combine(…)代码>在循环内部。然后删除字符串fpath=“~/App\u Data/photos/”+文件名代码>并使用返回重定向到操作(“CreateWithImage”,new{path=path})
和404.8
错误通常意味着您对\u AppData
中文件的请求被拒绝(这是默认设置)。建议您在应用程序中创建另一个文件夹(例如\Images\photos
),将该文件复制到该文件夹中,然后使用该路径进行尝试。@StephenMuecke现在一切正常。非常感谢你的帮助。
<dd>
<img src="/App_Data/photos/1.png" />
</dd>