纯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 = 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;
}
</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>

  

时间: 2024-10-15 11:02:46

纯JS实现图片上传和预览的相关文章

js实现图片上传及预览----------------------&gt;&gt;兼容ie6-8 火狐以及谷歌

<head runat="server"> <title>图片上传及预览(兼容ie6/7/8 firefox/chrome)</title> <script src="../Scripts/jquery-1.4.2.min.js" type="text/javascript"></script> </head> <body> <form id="f

js实现图片上传本地预览

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content

纯js实现图片上传

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head><title>本地图片预览</title><

js 图片上传本地预览

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片上传本地预览</title> <style type="text/css"> #preview{width:260px;height:190px;border:1px solid #000;overflow:hidden;

html之file标签 --- 图片上传前预览 -- FileReader

记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了其他方式来实现了这个功能. 今天无意发现了一个知识点,用html的file标签就能实现图片上传前预览,感觉很棒,记录一下!就是通过file标签和js的FileReader接口,把选择的图片文件调用readAsDataURL方法,把图片数据转成base64字符串形式显示在页面上. 1.闲话少说,测试一下,图片上

[转]html之file标签 --- 图片上传前预览 -- FileReader

记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了其他方式来实现了这个功能. 今天无意发现了一个知识点,用html的file标签就能实现图片上传前预览,感觉很棒,记录一下!就是通过file标签和js的FileReader接口,把选择的图片文件调用readAsDataURL方法,把图片数据转成base64字符串形式显示在页面上. 1.闲话少说,测试一下,图片上

图片上传时预览插件

html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script src="uploadView.js" type="text/javascript"></script> <script> window.

jQuery:[1]实现图片上传并预览

jQuery:[1]实现图片上传并预览 原理 预览思路 1.当上传对象的input被触发并选择本地图片之后获取要上传的图片对象的URL: 2.把对象URL赋值给实现写好的img标签的src属性 File对象 File对象可以用来获取文件的信息,还可以用来读取这个文件的内容,通常情况下,File对象是来自用户在一个input元素上选择文件后返回的FileList对象,也可以是来自由拖放操作生成的DataTransfer对象. Blob对象 Blob对象是一个包含由只读原始数据的类文件对象,Blob

input file实现多选,限制文件上传类型,图片上传前预览功能

限制上传类型 & 多选:① accept 属性只能与 <input type="file" /> 配合使用.它规定能够通过文件上传进行提交的文件类型. ② multiple 属性规定输入字段可选择多个值. 示例: <!-- image/* 所有图片 image/png png图片 image/jpg jpg图片 image/gif gir动图 application/msword Word文档(.doc) application/vnd.openxmlform