客户端 以下示例代码使用Stream和MSXML对象完成文件上传动作。 < HTML > < HEAD >< TITLE >File Send< /TITLE >< /HEAD > < BODY > < INPUT id=btn_send name="btn_send" type=button value="FILE SEND" > < DIV id=div_message >Ready < /BODY > < /HTML > < SCRIPT LANGUAGE=JavaScript > // 上传函数 function btn_send.onclick() { // 创建 ADO-stream 对象 var ado_stream = new ActiveXObject("ADODB.Stream"); // 创建包含默认头信息和根节点的 XML文档 var xml_dom = new ActiveXObject("MSXML2.DOMDocument"); xml_dom.loadXML('' // 指定数据类型 xml_dom.documentElement.setAttribute("xmlns:dt", "urn:schemas-microsoft-com:datatypes"); // 创建一个新节点,设置其为二进制数据节点 var l_node1 = xml_dom.createElement("file1"); l_node1.dataType = "bin.base64"; // 打开Stream对象,读源文件 ado_stream.Type = 1; // 1=adTypeBinary ado_stream.Open(); ado_stream.LoadFromFile("c:\\tmp\\myfile.doc"); // 将文件内容存入XML节点 l_node1.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll ado_stream.Close(); xml_dom.documentElement.appendChild(l_node1); // 可以创建多个二进制节点,一次上传多个文件 // 把XML文档发送到Web服务器 var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("POST","./file_recieve.ASP",false); xmlhttp.send(xml_dom); // 显示服务器返回的信息 div_message.innerHTML = xmlhttp.ResponseText; } < /SCRIPT > (责任编辑:admin) |