关于FileUpload控件选择文件时触发显示图像事件在IE7以上版本中不显示的问题

来源:互联网 发布:陕西省大数据产业联盟 编辑:程序博客网 时间:2024/05/20 11:25

图片显示问题(IE6.0中能显示,但是在IE7.0中不能显示)该页为内容页 

功能步骤是一个文件浏览控件,导入图片,让图片在img控件中显示出来
function change() {
var fileName = document.getElementById("ctl00_ContentPlaceHolder1_FileUpTrolley").value;
if (fileName == "")
return;
var exName = fileName.substr(fileName.lastIndexOf(".") + 1).toUpperCase()
if (exName == "JPG" || exName == "BMP" || exName == "GIF") {
document.getElementById("ctl00_ContentPlaceHolder1_myimg").src = fileName;

if (document.getElementById("ctl00_ContentPlaceHolder1_myimg").fileSize > 512000) {
document.getElementById("ctl00_ContentPlaceHolder1_myimg").src = "";
alert("但是文件大小只能小于500KB");
}
}
else {
alert("请选择正确的图片文件");
document.getElementById("ctl00_ContentPlaceHolder1_FileUpTrolley1").value = "";
}
}

页面内容:
<asp:FileUpload ID="FileUpTrolley" runat="server" onchange="change()" />
<img ID="myimg" runat="server" alt="" height="100" src="../Images/NoImage.jpg"
style="border: thin ridge #00CC00" width="100" />

把img改为image控件也是同样的问题。

这个原因是就是IE7以上的安全限制.不可以本地预览,即$('Image1').src = o.value;在IE7默认状态下已经不支持了。
。解决办法1就是用filter的办法

js:$(img).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=o.value;
界面:<div id="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=<%= pic%>,sizingMethod=scale);width:88px;height:113px;"></div>

解决办法2:加个说明:如果是ie7以上版本,你需要在“工具->Internet选项->安全->信任站点->站点”选项的中将“[本站地址]”添加为信任站点。否则图象大小将不能从硬盘正常读取。

原创粉丝点击