File控件选择图片的时候在Html5下马上预览

页面HTML

    <div>
        <img src="@pic.Path" id="img" style="width:200px;height:200px;" />
        <form id="form_photo" method="post" action="/N/SavePhoto?id=1">
            <input style=" display:none" type="file" name="file" id="file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" />
            <input type="hidden" name="HeadImg" />
            <input type="button" value="提交" οnclick="savePhoto(1)" />
        </form>
    </div>

JS

/*=============File控件选择图片的时候在Html5下马上预览=================*/
    function InitFile(fileId, imgId) {

        $("#" + imgId).click(function () {
            $("#" + fileId).trigger("click");
        });

        document.getElementById(fileId).onchange = function (evt) {
            // 如果浏览器不支持FileReader,则不处理  
            if (!window.FileReader) return;
            var files = evt.target.files;
            for (var i = 0, f; f = files[i]; i++) {
                if (!f.type.match('image.*')) {
                    continue;
                }
                var reader = new FileReader();
                reader.onload = (function (theFile) {
                    return function (e) {
                        // img 元素  
                        document.getElementById(imgId).src = e.target.result;
                    };

                })(f);
                reader.readAsDataURL(f);

            }
        }

    }


    InitFile("file", "img"); //h5选择图片加载

注:由于

accept="image/*"的缘故,使用谷歌浏览器打开图片文件,响应5~6S(效果不佳,IE浏览器不会--秒开)
查找资料之后修改成
accept="image/gif,image/jpeg,image/jpg,image/png,image/svg"
但也一样(IE浏览器不会--秒开),有高见的请求支援

还有就是,form表单提交文件的话,需要加个enctype="multipart/form-data",
我是使用AJAX提交的(这个需要引用jquery-form.js)

本人新手小白,只是写一写记录,感谢指导我的大大。

转载于:https://www.cnblogs.com/dzw159/p/6189721.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值