<script language=vbscript>
Function bytes2BSTR(vIn)
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
        
    Next    bytes2BSTR = strReturn
End Function
</script>
<script language="JavaScript">
function f(){
var xmlUrl = new ActiveXObject('Microsoft.XMLHTTP');
var r;
var filepath= document.getElementById("fileField").value
//alert(filepath);
xmlUrl.Open('GET',filepath);
xmlUrl.Send();
r=bytes2BSTR(xmlUrl.ResponseBody);
document.getElementById("Content").value = r;
}
</script> <input type="file" name="fileField" id="fileField" />
<input type="button" name="button" id="button" value="按钮" onclick="f()" />
<textarea id="Content"  name="Content" rows="30" cols="30"></textarea>本地执行没有问题,一放到服务器上用http://形式运行就报错,说没有权限,谢谢指点!

解决方案 »

  1.   

    叼,恩,服务器有安全级别,会把一些js给禁止掉了,可以设置IE安全级别。
      

  2.   

    换一种思路有别的方法吗,总之要满足客户需要把,谢谢大家指点一哈!
    总之只要能读取本地的txt文本文件并装在到textarea中就可以了,谢谢各位大师指点!
      

  3.   

    问题出在 这句代码上 var xmlUrl = new ActiveXObject('Microsoft.XMLHTTP');
    这是调用客户端的ActiveX插件,所以会禁止访问.
    解决方案:
    1、将该地址放到信任站点,将信任站点的安全级别降到最低(不推荐).
    2、使用文件上传传到服务器端,通过后台语言取文件内容后赋值给textrea。可以AJAX。
      

  4.   

    那就是先传文件到服务器,然后再http读取文件呵呵
    这个是可以实现,但让客户的体验很繁琐呵呵,现在不都将用户体验吗:)
      

  5.   

    要不然用户也要选择要读取的文件不是吗,你可以做选择完就后台读取啊.走Ajax就是了.
    设安全级别不可取,重做系统或升级IE后就白设了.