上传图片本地预览

<html>
<head>
<title>a test for selection object</title>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type='text/javascript'>
$(function(){
$("#addImage").click(function() {
if($("ul#files li").size() < 6){
$("<li><input type='file' accept='image/bmp,image/png,image/gif,image/jpeg' value='' name='upload' οnchange='previewImage(this)'> (图片格式:*.bmp,*.png,*.gif,*.jpeg)<input type='button' value='删除' οnclick='removeItem(this)'/><div class='preview'></div></li>").appendTo("#files");
} else {
alert("添加图片数量不能超过6个");
}
});
});

function removeItem(obj) {
$(obj).parent("li").remove();
};

function previewImage(file)
{
var MAXWIDTH = 200;
var MAXHEIGHT = 200;
var div = file.parentNode.childNodes[3];

if (file.files && file.files[0])
{
div.innerHTML = '<img class=imghead>';
var img = div.getElementsByTagName('img')[0];
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;
var i = 0;
div.innerHTML = "<img id=imghead>";
i = i + 1;
//div.innerHTML = '<img class=imghead>';
var img = div.getElementsByTagName('img')[0];
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;

//TODO临时解决
var rect = {top:44, left:0, width:200, height:113};
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div class='divhead' style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;margin-left:"+rect.left+"px;"+sFilter+src+"\"'></div>";

//var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
//status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
//div.innerHTML = "<div class='divhead' "+200+"px;height:"+200+"px;margin-top:"+200+"px;margin-left:"+200+"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>
</head>
<body>
<form>
<ul id="files">
<li><input type="file" οnchange="previewImage(this)" class="input-file" id="ss" accept="image/bmp,image/png,image/gif,image/jpeg" value="" name="upload"> (图片格式:*.bmp,*.png,*.gif,*.jpeg)<label class="error"></label><div class="preview" id="preview"></div></li>
</ul>
<input id="addImage" type="button" value="继续添加" />
</form>
</body>
</html>

备注:
IE下会有问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值