.Net MVC +jquery+ajax局部动态刷新图片

.Net MVC +jquery+ajax局部动态刷新图片

开发环境:.Net MVC + jquery + ajax
背景:上传图片后动态刷新,无需刷新整个页面,图片立刻改变
效果演示:
1)原始页面:
元素页面
2)选择文件,点击UploadImage后
在这里插入图片描述
3)再选择文件,再点击UploadImage后
在这里插入图片描述

js部分:

<script>
function imgError() {
            var img = event.srcElement ? event.srcElement : event.target;
            img.src = '/Images/noImg.jpg';
            img.onerror = null;
        }
        function UploadImg() {
            var img = $('#UploadImage').prop('files');
            var ImageName = $('#ImageName').val();
            var formData = new FormData();
            formData.append('image', img[0]);
            formData.append('imageName',ImageName)
            $.ajax({
                type: 'POST',
                url: '/Product/UploadImage',
                data: formData,
                async: false,
                processData: false,
                contentType: false,
                error: function (request) {
                    alert('Upload Fail');
                },
                success: function (data) {
                    $('#image').remove();
                    $('#imageSpan').next().after('<img id="image" style="width:300px;height:300px;vertical-align:top" onerror="imgError()" src="/Images/Product/' + data.path + '?' + new Date().getTime() + '" />');
                }
            });
        }
</script>

HTML部分:

<form id="imgForm" action="#" method="post" enctype="multipart/form-data">
                        <div style="margin-top:30px;margin-left:10px; margin-bottom:30px;">
                            <span id="imageSpan" style="vertical-align:text-top">Image:</span><br />
                            <img id="image" style="width:300px;height:300px;vertical-align:top" onerror="imgError()" src="~/Images/Product/@(Model.Pn).jpg" />
                        </div>
                        <div class="div-inline">
                            <input id="UploadImage" name="UploadImage" style="margin-left:20px;" type="file" />
                            <input id="ImageName" name="ImageName" type="hidden" value="@Model.Pn" />
                            <button type="button" class="button icon fa-upload primary" onclick="UploadImg()">
                                UploadImage
                            </button>
                        </div>
                    </form>

Note:点击函数名称不能换行,否则js无效!!!!

后台Controller:

[HttpPost]
        public ActionResult UploadImage() {
            HttpPostedFileBase file = Request.Files[0];
            string imageName = Request.Form["imageName"];
            string path = Server.MapPath("~/Images/Product/");
            string returnPath =  ImagesHelper.ImagesSave(file, path, imageName);
            return Json(new {
                path = returnPath
            });
        }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值