1. Create a web service project and add the following code:
using System.IO; [WebMethod public bool SaveDocument( Byte[ docbinaryarray, string docname) { string strdocPath; strdocPath = "C:DocumentDirectory" + docname; FileStream objfilestream =new FileStream(strdocPath,FileMode.Create,FileAccess.ReadWrite); objfilestream.Write(docbinaryarray,0,docbinaryarray.Length); objfilestream.Close(); return true; } [WebMethod public int GetDocumentLen(string DocumentName) { string strdocPath; strdocPath = "C:DocumentDirectory" + DocumentName; FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read); int len = (int)objfilestream.Length; objfilestream.Close(); return len; } [WebMethod public Byte[ GetDocument(string DocumentName) { string strdocPath; strdocPath = "C:DocumentDirectory" + DocumentName; FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read); int len = (int)objfilestream.Length; Byte[ documentcontents = new Byte[len; objfilestream.Read(documentcontents,0,len); objfilestream.Close(); return documentcontents; }
2. Create a directory C:DocumentDirectory
Now for the client:
1. Create a windows application project in the same project as the web service and create a web reference to it called “localhost”
2. Add 2 buttons called “cmdSend” and “cmdGet” and implement the click events.
using System.IO; private void Form1_Load(object sender, EventArgs e) { } string sFile = "c:test.txt"; private void cmdGet_Click(object sender, System.EventArgs e) { MemoryStream objstreaminput = new MemoryStream(); FileStream objfilestream = new FileStream(sFile.Insert(sFile.LastIndexOf("."), "2"), FileMode.Create, FileAccess.ReadWrite); localhost.Service myservice = new localhost.Service(); int len = (int)myservice.GetDocumentLen(sFile.Remove(0, sFile.LastIndexOf("") + 1)); Byte[ mybytearray = new Byte[len; mybytearray = myservice.GetDocument(sFile.Remove(0, sFile.LastIndexOf("") + 1)); objfilestream.Write(mybytearray, 0, len); objfilestream.Close(); } private void cmdSend_Click(object sender, System.EventArgs e) { FileStream objfilestream = new FileStream(sFile, FileMode.Open, FileAccess.Read); int len = (int)objfilestream.Length; Byte[ mybytearray = new Byte[len; objfilestream.Read(mybytearray, 0, len); localhost.Service myservice = new localhost.Service(); myservice.SaveDocument(mybytearray, sFile.Remove(0, sFile.LastIndexOf("") + 1)); objfilestream.Close(); }
3. Create a file c:test.txt
4. Click the “Send” button. The file will be sent to c:DocumentDirectory
5. Click the “Get” button. The file will be pulled from c:DocumentDirectory and saved in c:test2.txt
Tags:
C#