如何在asp.net中创建ActiveX对象



我如何使用asp.net在java脚本中创建ActiveX对象。如果我使用任何DLL创建该对象,我需要什么来创建该ActiveX对象?我如何创建?任何人都可以提供创建ActiveX对象的描述吗

我尝试过的代码是:

<script lang="javascript" type="text/javascript">
function getSize()
{
var oas = new ActiveXObject("Scripting.FileSystemObject");
var d = document.getElementById('b').value;
var e = oas.getFile(d);
var f = e.size;
return(f);
}
function checkFileType()
{
var path = document.getElementById('file1').value;
var Index = path.lastIndexOf(".");
var length = path.length;
var filetype = path.substring(Index,length)
if ((filetype == ".doc") ||(filetype == ".pdf") ||(filetype == ".jpg") ||(filetype == ".gif") ||(filetype == ".xls")||(filetype==".odt"))
{
var x = getSize(); if (x > 5242880)
{
alert('only upto 5 MB file is allowed');
return false;
}
}
else
{
alert('Only .doc, .pdf, .jpg, .gif, .xls is allowed');return false;
}

}

</script>
<form id="form1" runat="server">
<input type="file" name="b" id="file1" onchange="return checkFileType();" />
<div>
</div>
</form>

在上面的代码中,我得到了代码中的这一行
" var oas = new ActiveXObject("Scripting.FileSystemObject");"得到的异常是"0x800a01ad - JavaScript runtime error: Automation server can't create object"
有人能告诉我如何正确创建ActiveX对象,我需要设置什么,我使用哪个DLL吗?所有人都能帮助我。

谢谢

并非所有浏览器都支持此验证方法。

无论如何,对于IE9或更低版本(其中不支持.files),您可以使用它。要使用此方法,您需要在IE中启用activex对象。

转到"Internet选项"->"安全"选项卡。选择受信任的网站,然后单击"网站"按钮。它将为您提供添加url的选项。添加您的网站的url,然后保存。然后点击"自定义级别"按钮。它将打开一个选项列表。找到一个写着"初始化并编写未标记为安全的activex控件的脚本"并启用它。

保存并关闭对话框,然后刷新网页。

编辑:

注意事项:

这是一种非常不安全的方法,所以我建议提高兼容性,并对IE9以下的任何东西说不。

其次,这是您必须在每个用户的机器上启用的功能。否则,该行将始终引发异常。

所以,如果你必须坚持IE8或更低版本,并控制你的用户群,那么就只使用这个。否则,只需使用IE浏览器的flash上传方法。你的用户可能讨厌安装flash,但你无能为力。

第页。S.大约一个小时前我也在做同样的事情。幸运的是,我做了所有的研究

编辑:第二点,有人能帮我弄清楚如何在不进行重大重写的情况下消除XML数据岛吗?这是唯一阻止我告别IE6的东西。

最新更新