通过控制器问题加载图像

时间:2015-11-09 15:30:18

标签: javascript asp.net-mvc asp.net-mvc-4

当我尝试通过控制器加载图像时,我的控制器没有被击中,我得到400错误。

var purl = rootPath + "Fupload/EmpImg/" + $("#photofile").val();
$("#ephoto").attr("src",  purl);

但是,如果我从url中删除文件名部分(即$(“#photofile”)。val()),则控制器会被命中。

这是我的行动方法

public FileResult EmpImg(string id)  // id has filename
{
   .....

    String pth = ConfigurationManager.AppSettings["UploadPath"];
    pth = Path.Combine(pth, "EmpImg");

    var dir = pth;
    var path = Path.Combine(dir, id );

    if (System.IO.File.Exists(path) == false)
        return null;

    ------
    ---
}

由于文件名来自数据库json,我需要通过javascript更新img src,如上所示。我必须将文件名传递给动作方法,当我这样做时不会被击中。

我如何让这个工作?

感谢。

1 个答案:

答案 0 :(得分:1)

尝试使用url helper ..不确定rootpath是什么..但是

var purl = "@Url.Action("EmpImg","Fupload")";
$("#ephoto").attr("src",  purl + '?' + $.param({id: $("#photofile").val()}));