javascript post mothed

Hi I am currently re-developing a web based front end for an estate agent to manage their propertys. I have decided to use a Microsoft.XMLHTTP object to communicate between the client and server. My problem is got to do with sending a file with this. The client is composed of the usual GUI components which the data can be easily retrieved from for sending to the server but it also contains a file element for selecting a picture of the property to be uploaded. How do I get the data from this so that it can be uploaded to the server using the Microsoft.XMLHTTP object. I have found a bit of code on the net but it is no use to me because it would involve changing the security in "Internet Options" which I have no control over.

<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</DIV>
</BODY>
</HTML>

<SCRIPT LANGUAGE=JavaScript>

// files upload function
function btn_send.onclick()
{
   
// create ADO-stream Object
   var ado_stream = new ActiveXObject("ADODB.Stream");

   
// create XML document with default header and primary node
   var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
   xml_dom.loadXML('
<?xml version="1.0" ?> <root/>');
   
// specify namespaces datatypes
   xml_dom.documentElement.setAttribute("xmlns:dt""urn:schemas-microsoft-com:datatypes");

   
// create a new node and set binary content
   var l_node1 = xml_dom.createElement("file1");
   l_node1.dataType 
= "bin.base64";
   
// open stream object and read source file
   ado_stream.Type = 1;  // 1=adTypeBinary 
   ado_stream.Open(); 
   ado_stream.LoadFromFile(
"c:\\sold.gif");
   
// store file content into XML node
   l_node1.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
   ado_stream.Close();
   xml_dom.documentElement.appendChild(l_node1);

   
// we can create more XML nodes for multiple file upload

   
// send XML documento to Web server
   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   xmlhttp.open(
"POST","http://www.google.com",false);
   xmlhttp.send(xml_dom);
   
// show server message in message-area
   div_message.innerHTML = xmlhttp.ResponseText;
}
</SCRIPT>

posted on 2007-07-17 09:47 leoli 阅读(941) 评论(0)  编辑  收藏 所属分类: javascript


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

常用链接

留言簿(6)

随笔分类

随笔档案(17)

文章分类(86)

收藏夹(3)

flex blog

good site

java blog

my friend

tools

抓虾

搜索

最新评论

阅读排行榜

评论排行榜