.net web实现选择本地图片(上传)后预览图
来源:互联网 发布:机械优化设计方法 编辑:程序博客网 时间:2024/06/05 08:01
.net web实现选择本地图片(上传)后预览图
html:
<asp:FileUpload ID="fuPic" runat="server" onchange="onFileChange(this);"/><asp:Image CssClass="cropper" ID="fuPiccropper" runat="server"/>
js:
function onFileChange(sender) {document.getElementById("fuPiccropper").src = window.URL.createObjectURL(sender.files[0]); };
效果图:
更新于2016年2月17 ---------- 实现该功能的第二种办法(纯js,IE用滤镜实现),实现兼容所有浏览器:
css:
<style type="text/css"> #preview { width: 260px; height: 190px; border: 1px solid #000; overflow: hidden; } #imghead { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image); }</style>
html:
<body><div id="preview"> <img id="imghead" width=100 height=100 border=0 src='<%=request.getContextPath()%>/images/defaul.jpg'></div><input type="file" onchange="previewImage(this)" /> </body>
实现功能核心js代码:
<script type="text/javascript"> //图片上传预览 IE用滤镜。 function previewImage(file) { var MAXWIDTH = 260; var MAXHEIGHT = 180; 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 //兼容IE { 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;" + 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; }</script>
1 0
- .net web实现选择本地图片(上传)后预览图
- Asp.Net FileUpload选择图片后预览,并直接上传
- 选择图片后预览(不上传至后台)
- web表单多图片上传+本地预览
- 图片上传预览,选择图片上传后得到ByteArray
- js实现网页图片上传本地预览
- premage.js 实现预览本地上传图片
- jquery实现上传图片本地预览效果
- JS原生实现本地图片上传预览
- 实现本地图片预览上传的功能
- 图片上传,本地预览
- 上传图片本地预览
- 上传图片本地预览
- 上传图片本地预览
- 上传图片本地预览
- 图片上传本地预览
- 图片上传本地预览
- web项目jquery实现本地图片预览
- linux中cat more less 命令区别
- 怎么合理管理、提高Javascript
- 提升网站用户体验—WebP 图片的高效使用
- cocos2d 3.6 win7下的配置
- leetcode中word 系列总结 -- 先记下来,回头再写
- .net web实现选择本地图片(上传)后预览图
- Android自动化测试 - Monkey详解
- 仲恺acm 1019:石头剪子布【java】
- cocos2d 2.2.6 win7下的配置
- Arduino建立自己的工程 添加头文件 添加源文件
- JNI笔记
- 奇葩创意集锦
- iOS APP提交上架最新流程
- FFMpeg无损合并视频的多种方法