2013-10-23 22 views
0

上傳我有我的圖像控制這樣的新形象:如何顯示在CSHTML

<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 
    } 

這工作正常,當頁面加載與alreay個人資料照片上傳。 但是,當上傳一張新照片時,它應該顯示新照片,但是當我上傳一張新照片時它不會觸及GetProfileImage()動作,甚至當我刪除照片時,它將從sql server中刪除,但頁面仍然顯示照片。

當我上傳新照片時,我應該怎麼做才能顯示新照片,以及在刪除照片後應該如何處理,以便在刪除照片後不顯示照片。

+0

嘗試重新加載頁面? – ediblecode

+0

我只是顯示了這樣的成功通知:ShowSuccess(「Upload was Successful」);我沒有得到要寫入的代碼,以便在上傳後顯示新圖像。 –

回答

0

您可以添加到id標籤img

<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) 
} 
相關問題