首页 > 代码库 > 纯JS实现图片上传和预览

纯JS实现图片上传和预览

JS:

<script type="text/javascript">function previewImage(file) {var MAXWIDTH = 150;var MAXHEIGHT = 200;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 = http://www.mamicode.com/evt.target.result; }"‘;file.select();var src = http://www.mamicode.com/document.selection.createRange().text;"<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;}</script>

  

Html:

<div style="display: none"><asp:FileUpload ID="FupImg" onchange="previewImage(this)" runat="server"></asp:FileUpload></div><a href="Javascript:void()" onclick="FupImg.click()"><div id="preview"><asp:Image ID="ImgTx" ImageUrl="/Images/1111.jpg" runat="server" /></div></a>

  

纯JS实现图片上传和预览