html 实时显示input type=file 上传的图片
来源:互联网 发布:wampserver域名访问 编辑:程序博客网 时间:2024/05/08 13:53
在项目开发过程中,有这样的需求:左侧一个<input type="file" > 上传的图片需要在右侧实时显示出该图片。刚拿到需求,感觉头都大了,后来同事帮忙找的例子,也不知其来源,所以在此希望原主看到会,能见谅!!
废话不多说了,直接上代码。
html代码:
<div><label class="edit-font"><span>*</span>服务图片:</label><input class="serverImg" id="imgName" name="imgName" /><input id="img" name="img" onchange="previewImage(this);" type="file"/><span class="ylbut"></span>
<span style="font-family: Arial, Helvetica, sans-serif;"></div></span>
js代码:
function previewImage(file){fileName=$("#img").val();$("#imgName").attr("value",fileName); var MAXWIDTH = 218; //用来显示上传图片的宽度 var MAXHEIGHT = 158; //用来显示上传图片的高度 var div = document.getElementById('preview'); if (file.files && file.files[0]) { div.innerHTML = '<img id=imghead>'; var img = document.getElementById('imghead'); img.onload = function(){ var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); img.width = rect.width; img.height = rect.height; img.style.marginLeft = rect.left+'px'; img.style.marginTop = rect.top+'px'; }; var reader = new FileReader(); reader.onload = function(evt){img.src = evt.target.result;}; reader.readAsDataURL(file.files[0]); } else { var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="'; file.select(); var src = document.selection.createRange().text; div.innerHTML = '<img id=imghead>'; var img = document.getElementById('imghead'); img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src; var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight); status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height); div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;margin-left:"+rect.left+"px;"+sFilter+src+"\"'></div>"; }}function clacImgZoomParam( maxWidth, maxHeight, width, height ){ var param = {top:0, left:0, width:width, height:height}; if( width>maxWidth || height>maxHeight ) { rateWidth = width / maxWidth; rateHeight = height / maxHeight; if( rateWidth > rateHeight ) { param.width = maxWidth; param.height = Math.round(height / rateWidth); }else { param.width = Math.round(width / rateHeight); param.height = maxHeight; } } param.left = Math.round((maxWidth - param.width) / 2); param.top = Math.round((maxHeight - param.height) / 2); return param;}
0 0
- html 实时显示input type=file 上传的图片
- input type=file 上传图片并显示
- input标签type="file"的格式要求,以及文件阅读,图片上传前的显示
- <input type='file' />选择图片不上传,在页面中显示的功能。
- input[type='file'] img图片上传
- 使用input标签 type='file' 上传图片的问题
- 关于 input【type=file】文件上传控件实现自定义文字及实时图片预览
- 上传图片即时显示<input type="file" />(兼容所有浏览器)
- <input type="file">更改 页面显示 浏览 为上传 .
- 上传文件 隐藏input type="file",用text显示
- Android WebView 支持H5图片上传<input type="file">
- input标签 type='file' 上传图片问题
- [js实例] input type=file 上传图片预览 createObjectURL
- html5 中input type=‘file’实现文件图片等的上传的文件类型限制
- html input控件type为file上传文件、图片,及保存为原文件
- 处理同一页面中借助form+input[type="file"]上传图片出现的input无法清空问题
- [HTML难点及解决]input的file属性显示图片
- 使用input file 上传图片并显示
- 爱普生SCARA机器人参考文档列表
- 图论——次小生成树
- PCB布线技巧大总结
- 这些年的项目管理心得
- 转:自学算法之路
- html 实时显示input type=file 上传的图片
- poj-1679 The Unique MST
- Nagios监控LINUX /var/log/message脚本
- SharePoint数据保护之(一)备份网站集
- html 应用 ajaxupload 文件控件 onchange 只能改变一次 解决方案
- Android touch 事件传递
- ANT的安装与配置
- 使用adb命令拷贝data文件夹中的文件到sd卡上
- JSP中文乱码问题