图片未从路径

时间:2017-03-23 09:20:38

标签: c# asp.net sql-server asp.net-mvc asp.net-mvc-4

图像未从asp.net中的给定路径加载 这里是场景。我已经使用asp.net将图像上传到文件夹并将其插入到SQL Server数据库的路径中,但是当我尝试从我在asp应用程序中的路径中获取图像时#34;路径是正确"但图像无法加载。没有错误。

以下是上传数据的代码

if (FileUpload1.HasFile && TextArea1.Value != null)
    {
        string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
        string path = Server.MapPath("/admin/images/" +fileName);
        FileUpload1.PostedFile.SaveAs(Server.MapPath("/admin/images/" + fileName));
        //Response.Write("<script>alert('" + path + "');</script>");
        string ta1 = TextArea1.Value;
        string sql = "UPDATE homep SET img = '" + path + "', description= '" + ta1.Replace("'", "''") + "' WHERE id = 1;";
        cmd = new SqlCommand(sql, con);
        if (cmd.ExecuteNonQuery() > 0)
        {
            Response.Write("<script>alert('Updation Success ..!');</script>");
        }
    }

这是获取数据的代码

 dr.Read();
   Response.Write("<img src='"+dr["img"].ToString()+"' class='img-responsive'/>");
   dr.Close();

This Image shows final output as i am getting content but not getting image from path

2 个答案:

答案 0 :(得分:1)

您将服务器硬盘上的物理路径提供给浏览器,客户端的浏览器无法打开。您应该构建一个为图像提供服务的action方法,并在图像的src =“”中为该action方法提供url。

例如:

Response.Write("<img src='/Serveimage/?path="+dr["img"].ToString()+"' class='img-responsive'/>");

然后创建'ServeImage'动作方法:

public FileResult ServeImage(string path)
{
    var bytes = System.IO.File.ReadAllBytes(path);
    return File(bytes, "image/png");
}

答案 1 :(得分:0)

使用〜像这样:

Server.MapPath("~/admin/images/" +fileName)