0

我有这样的图像控制:

<img src="@Url.Action("GetProfileImage", "Controller", new { id = Model.DocId})"

行动

public FileResult GetProfileImage(int id)
{
    var usr = new Whatever();
    byte[] barrImg = usr.GetProfilePhoto(id);
    return File(barrImg, "image/png");
}

我的保存方法是这样的:

function SavePhotoToDb() {
                var json;
                var data;
                $.ajax({
                    type: "POST",
                    url: "/Example/SaveProfilePhoto",
                    data: new FormData($("#form0").get(0)),
                    dataType: "html",
                    contentType: false,
                    processData: false,
                    success: saveItemCompleted(data),
                    error: saveItemFailed
                });
            }

        function saveItemCompleted(data) {
               //showing success notification;
               // what else I have to do here to display the new image
    }

当页面加载了已经上传的个人资料照片时,这工作正常。但是,当上传新照片时,它应该显示新照片,但是当我上传新照片时它没有触发 GetProfileImage() 操作,即使我删除照片,它也会从 sql server 中删除,但页面仍然显示照片..

当我上传新照片时我应该怎么做,以便显示新照片,当我删除照片时我应该怎么做,因为我已经删除了照片,所以它不会显示照片。

4

1 回答 1

0

您可以添加一个idtoimg标签

 <img id="myimage" src="@Url.Action("GetProfileImage", "Controller", new { id = Model.DocId})"

在 JS 函数中

 function saveItemCompleted(data) {
     //Force to reloaded image
     var image = new Image();
     image.src = $("#myimage").attr("src") + "?_=" + (new Date().getTime()) ;
     $("#myimage").attr("src", image.src) 
 }
于 2013-10-23T16:44:56.120 回答