我有这样的图像控制:
<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 :(得分: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)
}