ASP.NET JS本地图片预览问题~【高手】、【前辈】请进!

parcool 2010-09-21 05:45:26
我参照网上的代码的。目的是:JS控制点按钮生成HTML的file控件(点一下出现1个),然后浏览file控件,将浏览后的图片显示到DIV里(那个DIV的id="divShow"的那个,下面有。)
HTML部分

<table id="target" border="1" width="500" height="20">
<tr>
<td id="Td0">
<div id="divShow" style="FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);">
</div>
</td>
</tr>
</table>


JS部分

function FnImgChange(obj)
{
var objImgPath = document.getElementById(obj.id);
var objImg = document.getElementById("divShow");
var img = objImgPath.value;

objImg.style.visibility = "hidden";
objImg.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img;
objImg.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image";

//过一小会获取div的宽高.
setTimeout("setImg()",100);
}
function setImg()
{
var o = document.getElementById("divShow");

var width_img;
var height_img;

o.style.visibility = "visible";
width_img=o.offsetWidth;
height_img=o.offsetHeight;

var width=420; //预定义宽,图片的宽度了
var height=200; //预定义高,如果宽小于长度,那么他会自适应按照宽度来计算比例,所以对于一般情况长>宽的照片时候,这个参数没啥意义


var ratW; //宽的缩小比例
var ratH; //高的缩小比例
var rat; //实际使用的缩小比例
if(width_img<width && height_img<height)
{
//如果比预定义的宽高小,原图显示。
o.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image";
return;


}
else
{
//如果大的化,要把 sizingMethod改成scale 如果属性是image,不管怎么改div的宽高,都不起作用
o.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale";

}
ratH = height/height_img;
ratW = width/width_img;
if(ratH<ratW) //选择最小的作为实际的缩小比例
rat=ratH;
else
rat=ratW;

width_img = width_img * rat;
height_img = height_img * rat;
o.style.width = width_img;
o.style.height = height_img;
}

function newRow()
{
……………………………………………………………………………………………………………………
c1.innerHTML="<input type='file' style=\"width: 500px;\" id='"+i+"' onchange=\"FnImgChange(this)\" name='filecom'>";
……………………………………………………………………………………………………………………
}
}
...全文
539 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-09-22
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
function PreviewImg(imgFile)
{
var newPreview = document.getElementById("newPreview");
newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
newPreview.style.width = "80px";
newPreview.style.height = "60px";
}
</script>
<asp:FileUpload ID="FileUpload1" runat="server" onchange="PreviewImg(this)" />
<div id="newPreview"> </div>


function $(o){return document.getElementById(o);}
function CheckImg(o,img)
{
if (!/\.((jpg)|(bmp)|(gif)|(png))$/ig.test(o.value))
{
alert('只能上传jpg,bmp,gif,png格式图片!');
o.outerHTML = o.outerHTML;
}
else
{
$(img).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=o.value;
}
}

<asp:FileUpload ID="FileUpload1" runat="server" onchange="CheckImg(this, 'img');" />
<div id="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src= <%= pic%>,sizingMethod=scale);width:88px;height:113px;"> </div>
public string pic="";
jianshao810 2010-09-22
  • 打赏
  • 举报
回复

<input type="text" tagfff='1' id="productImage1" name="productImage1" readonly="readonly" size="60" maxlength="100" />
<span aindex="1" onclick="TriggerUpload(this);" style="cursor: hand; cursor: pointer">上传图片</span>
<span bindex="1" onclick='addFile(this);' style="cursor: hand; cursor: pointer">新增</span><br />
<input type="hidden" name='imageLength' id='imageLength' value='0' />
<input type="hidden" id="imginfo1" name="imginfo1" />

function addFile(obj) {
var i = (parseInt(obj.getAttribute("bindex")) + 1);
if (i < 5) {
var jjj = $("#imageDivLeft");
jjj.css("height", parseInt(jjj.css("height")) + 40);
if (i != 4)
$("#imageDiv").append('<input tagfff="1" type="text" readonly="readonly" id="productImage' + i + '" name="productImage' + i + '" size="60" maxlength="100"/><span aindex="' + i + '" onclick="TriggerUpload(this);" style="cursor: hand; cursor: pointer">上传图片</span> <span onclick="addFile(this);" bindex="' + i + '" style="cursor: hand; cursor: pointer">新增</span><br />');
else
$("#imageDiv").append('<input type="text" readonly="readonly" id="productImage' + i + '" name="productImage' + i + '" size="60" maxlength="100"/><span aindex="' + i + '" onclick="TriggerUpload(this);" style="cursor: hand; cursor: pointer">上传图片</span><br />');
$("#imageInfoDiv").append('<input type="hidden" id="imginfo' + i + '" name="imginfo' + i + '" />');
obj.parentNode.removeChild(obj);
}
else {
alert("最多能上传4张图片");
}
}

直接append,因为在后台是可以用postfile获取的
parcool 2010-09-21
  • 打赏
  • 举报
回复
不是吧?就这样沉了?
parcool 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 juedaihuaihuai 的回复:]
现在的代码有什么问题?
[/Quote]

绝代坏坏 2010-09-21
  • 打赏
  • 举报
回复
现在的代码有什么问题?
parcool 2010-09-21
  • 打赏
  • 举报
回复
高手快来啊~在线等呢。。。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧