【发布时间】:2016-01-13 11:56:57
【问题描述】:
我正在使用 Asp.net MVC 4 和 Bootstrap 3 上传图像并将图像替换为模态上的前一个图像。到目前为止,上传工作正常,但图像没有被替换,即使我重新加载页面并打开模式,它仍然可能显示缓存中的旧图像。
这是我的代码。
打开模态的视图
<script>
$('.btnInfo').click(function (e) {
var id = $(this).attr('href');
e.preventDefault();
$('#modal-content').load("FlatImageOne?FlId=" + id);
});
</script>
<a href="@Model.serial" class="btnInfo" data-target="#myModal" data-toggle="modal">Change Featured Image</a>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Change Image</h4>
</div>
<div class="modal-body">
<div id="modal-content"></div>
</div>
</div>
</div>
</div>
模态视图
<script>
$(document).ready(function () {
$('#btnUpload').click(function (e) {
e.preventDefault();
var getFile = document.getElementById('file').files[0];
var getId = $("#getFlId").val();
var formdata = new FormData();
formdata.append("file", getFile);
formdata.append("getFlId", getId);
$.ajax({
url: '@Url.Action("FlatImageOne", "Home")',
type: 'POST',
data: formdata,
processData: false,
contentType: false,
success: function (data) {
alert("Upload successful!");
$('#imgOne').empty();
$('#imgOne').html('<img src="/Images/Flats/' + getId + '-0.png" alt="your image" class="img-responsive" />');
},
error: function () {
alert("Error! Please Try Again!");
}
});
});
});
</script>
<div>
@using (Html.BeginForm("FlatImageOne", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true, "Error! Please provide valid information!")
<input type="file" name="file" id="file" style="width: 100%;" /><br />
<input type="hidden" name="getFlId" id="getFlId" value="@ViewBag.ImgName" />
<input id="btnUpload" type="submit" class="btn btn-info" value="Upload" />
}
</div><br />
<div id="imgOne">
<img src="~/Images/Flats/@(ViewBag.ImgName)-0.png" alt="your image" class="img-responsive" />
</div>
如何从缓存中删除图片并在模态中更新上传的图片?
【问题讨论】:
标签: jquery asp.net-mvc twitter-bootstrap caching