首页 > 代码库 > File控件选择图片的时候在Html5下马上预览
File控件选择图片的时候在Html5下马上预览
页面HTML
<div> <img src=http://www.mamicode.com/"@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=http://www.mamicode.com/"提交" onclick="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 =http://www.mamicode.com/ 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)
本人新手小白,只是写一写记录,感谢指导我的大大。
File控件选择图片的时候在Html5下马上预览
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。