读书人

window.URl.createObjectURL()如何在v

发布时间: 2012-05-10 16:02:39 作者: rapoo

window.URl.createObjectURL()怎么在vs中编辑后不能在火狐中运行,在IE中运行没问题
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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 runat="server">
<title></title>
<script type="text/javascript">
function head()
{
var headfile = document.getElementById("head_file");
var imgfile = document.getElementById("head_kan");
if (headfile.files && headfile.files[0])
{
//火狐下的查看

imgfile.src = window.URl.createObjectURL(headfile.files[0]);
}
else
{
//IE下,使用滤镜。
headfile.select();
var imgsrc = document.selection.createRange().text;
var localimgid = document.getElementById("localimg");
//图片异常的捕捉,防止用户修改后缀来伪造图片
try
{
localimgid.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
localimgid.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgsrc;
}
catch (e)
{
alert("您上传的图片格式不正确,请重新选择!");
return false;
}
document.selection.empty();
}
return true;
}

</script>
</head>
<body onload="head()">
<form id="form1" runat="server">
<div>
<input type="file" id="head_file" name="head_file" onchange="head()"/>

<div id="localimg" style="width:300px; height:300px;">
<img alt="" src="#" id="head_kan" style="width:300px; height:300px;" />

</div>
</div>
</form>
</body>
</html>


[解决办法]
另外,
function head()
跟页面的head标记冲突,应该改成
function headXZ() {
[解决办法]
这种预览方法是不正确的,IE9是不支持的,最好的方法是上传预览
Chrome也是不支持的

兼容的方法
http://dotnet.aspx.cc/file/Multi-Files-Upload-With-Preview.aspx

或者采用Flash预览

有浏览器不支持,你还写这样的代码干嘛

读书人网 >.NET

热点推荐