怎么简单获取input file 选中的图片,并在一个div的img里面赋值src实现预览?
1个回答
展开全部
1是只能用前台jquery实现???还要实现预览???还要兼容IE 7+????
123456789101112131415161718192021222324252627282930代码如下利用html5实现:几乎兼容所有主流浏览器,当然IE必须是IE 6以上【jquery代码】$(function() {$("#file_upload").change(function() {var $file = $(this);var fileObj = $file[0];var windowURL = window.URL || window.webkitURL;var dataURL;var $img = $("#preview"); if(fileObj && fileObj.files && fileObj.files[0]){dataURL = windowURL.createObjectURL(fileObj.files[0]);$img.attr('src',dataURL);}else{dataURL = $file.val();var imgObj = document.getElementById("preview");// 两个坑:// 1、在设置filter属性时,元素必须已经存在在DOM树中,动态创建的Node,也需要在设置属性前加入到DOM中,先设置属性在加入,无效;// 2、src属性需要像下面的方式添加,上面的两种方式添加,无效;imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL; }});});【html代码】:<input id="file_upload" type="file" /><div class="image_container"><img id="preview" width="60" height="60"></div>
【注】下面所说的只能用flash实现太过时,太不靠谱,上传到后台回传是正解,不过不满足你只能用前台写预览!
123456789101112131415161718192021222324252627282930代码如下利用html5实现:几乎兼容所有主流浏览器,当然IE必须是IE 6以上【jquery代码】$(function() {$("#file_upload").change(function() {var $file = $(this);var fileObj = $file[0];var windowURL = window.URL || window.webkitURL;var dataURL;var $img = $("#preview"); if(fileObj && fileObj.files && fileObj.files[0]){dataURL = windowURL.createObjectURL(fileObj.files[0]);$img.attr('src',dataURL);}else{dataURL = $file.val();var imgObj = document.getElementById("preview");// 两个坑:// 1、在设置filter属性时,元素必须已经存在在DOM树中,动态创建的Node,也需要在设置属性前加入到DOM中,先设置属性在加入,无效;// 2、src属性需要像下面的方式添加,上面的两种方式添加,无效;imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL; }});});【html代码】:<input id="file_upload" type="file" /><div class="image_container"><img id="preview" width="60" height="60"></div>
【注】下面所说的只能用flash实现太过时,太不靠谱,上传到后台回传是正解,不过不满足你只能用前台写预览!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询