百分求解一个可能涉及比较多的一个问题,求熟悉javascript或者ASP无组件上传或者AJAX等等的高手帮忙解答,非常感谢!!
目的:想实现客户端免输入验证码自动登录相关系统,从而实现一站式登录。
因为需要实现前台登录,故验证码必须在前台显示后再上传到服务器,由后端程序验证后再返回前台并触发自动登录。现在下述代码已经可以将验证码保存到客户电脑上“c:\\yzm.png”,但由于IE安全限制,无法实现自动把该文件上传到服务器上,故有此一问。具体问题在下面实例中的备注项已说明,求高人指点,或者提供其他解决办法或思路,谢谢!
<script LANGUAGE="JavaScript">
//本段代码是内部系统的一部分,本系统已放入受信任站点,用户端IE的安全性已经降低到最小。
window.onload=function(){
var oHTTP = new ActiveXObject("Microsoft.XMLHTTP");
var oStream = new ActiveXObject("adodb.stream");
oStream.type = 1;
oStream.mode = 3;
oHTTP.open("GET", "http://xxx.com/yzm.png", false);
oHTTP.send();
if(oHTTP.status!=404) {
oStream.open();
oStream.write(oHTTP.responseBody); //这里是否可以实现js获取的值直接赋给表单form1中的yzmurl??
oStream.savetofile("c:\\yzm.png", 2); //如果实现上面的要求这句保存到本地似乎就没有必要了吧
document.form1.submit(); //然后自动提交本表单上传验证码图片实现后台识别验证码的过程
}
}
</script>
<form name='form1' method='post' action='验证码识别.asp' enctype="multipart/form-data" target="small">
这样写? <input name='yzmurl' type='hidden' value='' />
还是这样写? <input name='yzmurl' type='file' />
还是应该? ……
</form>
<iframe name="small" border="0"></iframe>
<form name='form2' method='post' action='获取验证值后登录系统.asp' target="_self">
<input name='yzmzhi' type='hidden' value='' />
</form>
验证码识别.asp接收到前台上传的图片后进行验证,验证后将结果返回到form2中的yzmzhi,同时触发form2.submit,实现自动登录到该系统。
------解决方案--------------------
验证码是让你在文本框中输入的,不是上传图片吧~~~
不太明白你的意思啊~~
------解决方案--------------------
可以用免费的WebOffice控件,http://www.dianju.com.cn/pc/products-weboffice.php 可以调用其函数上传本地文件(普通的HTTP方式上传)。