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.style.display = "block";

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>

<style type="text/css">
    #preview { overflow:hidden; display:none;}
    #imghead { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}
</style>

<div><input id="fileImg" name="fileImg" onchange="previewImage(this)" type="file" runat="server" /></div>
            <div id="preview">
                <img id="imghead" width=100 height=100 border=0 src=‘‘ />
            </div>

时间: 2024-10-11 11:43:09

js上传图片前进行预览的相关文章

C#.net4建设网页上传图片前客户端预览图片不能显示

搞了好半天,完全照教学资料设的javascrip脚本,但就是显示不了,后来才发觉,原来客户端要把该网站设为信任才能显示. 所以记录一下,以后备查. <script type="text/javascript">        function showphoto() {            alert(document.getElementById("FileUpload1").value);            //把所选图片的全路径+文件名以“f

JS控制submit表单提交前进行预览和confirm确认提交

JS控制submit表单提交前进行预览和confirm确认提交. 我们经常会遇到这样的场景,某一个form表单提交前,想知道那些checkbox的内容被选中了,如果符合则提交,如果不符合,则取消提交,很简单的代码,我就不说了,直接上代码了. <script type="text/jscript"> $(document).ready(function() { //alert($("input[name='xinjiu']:checked").val())

使用JCrop进行图片裁剪,裁剪js说明,裁剪预览,裁剪上传,裁剪设计的图片处理的工具类和代码

?? 1.要想制作图片裁剪功能,可以使用网上的裁剪工具JCrop,网址是:https://github.com/tapmodo/Jcrop/ 案例效果如下: 2.引入JCrop的js代码,具体要引入那些js可以参考JCrop案例: 3.编写的html代码如下: <div id="light" class="white_content"> <div class="vatitlee"> 封面截取 <div class=&

HTML5 CSS3 经典案例:无插件拖拽上传图片 (支持预览与批量) (二)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/31513065 上一篇已经实现了这个项目的整体的HTML和CSS: HTML5 CSS3 经典案例:无插件拖拽上传图片 (支持预览与批量) (一) 这篇博客直接在上篇的基础上完成,最终效果: 效果图1: 效果图2: 好了,请允许我把图片贴了两遍,方便大家看效果了~ 可以看出我们的图片的li的html其实还是挺复杂的,于是我把html文档做了一些修改: <span style=&quo

JS实现的图片预览功能

之前的博文有实现过图片上传预览,但那种方法是预览时就将图片上传,会产生很大的浪费空间.找到了之前有人写的用JS实现的图片预览,就说用js将上传的图片显示,上传代码在之前的博文中有写到. 以下是实现的代码: body: <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td heig

js实现图片上传前的预览,实现完美兼容Firefox3,IE6,IE7,IE8和IE9的显示问题

1 <script type="text/javascript" language="javascript"> 2 function PreviewImg(imgFile){ 3 document.getElementById("idImg").style.display = "none";//隐藏初始化图片的显示,让过滤器显示 4 var newPreview=document.getElementById(&q

3种上传图片并实现预览的方法

在常见的用户注册页面,需要用户在本地选择一张图片作为头像,并同时预览. 常见的思路有两种:一是将图片上传至服务器的临时文件夹中,并返回该图片的url,然后渲染在html页面:另一种思路是,直接在本地内存中预览图片,用户确认提交后再上传至服务器保存. 这两种方法各有利弊,方法一很明显,浪费流量和服务器资源:方法二则加重了浏览器的负担,并且对浏览器的兼容性要求更高(在某些低版本中的IE浏览器不支持). 以下是实现上述思路的方法: 1. 模板文件 1 <!DOCTYPE html> 2 <ht

兼容好的JS图片上传预览代码

在上传图片前预览图片的功能,可提高你网站的用户体验,让用户清楚所要上传的图片是不是选对了.本代码无JS插件,纯JavaScript结合HTML来实现,是一个很不错的例子,比较完整: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&

javascript和HTML5上传图片之前实现预览效果

一:FileList对象与file对象 FileList对象表示用户选择的文件列表,在HTML4中,file控件内只允许放置一个文件,但是到了HTML5中,通过添加multiple属性,file控件内允许一次放置多个文件,控件内的每一个用户选择的文件都是一个file对象,而FileList对象是file对象的列表: 比如如下代码: 选择文件<input type="file" id="file" multiple size="80"/>