由於一直從事Web方面的開發工作,所以對Winform這塊不太熟悉,今天接到一個新的需求,就是在一個C++程序里面需要上傳一個文件到IIS服務器上面來,由於C++的C#的差異性,我們不能直接使用對象,所以我們決定采用字節流的方式來上傳文件。
由於只是一個測試程序,而且C++那邊還沒有開發完,所以我就貼了我C#這邊的一段測試程序,原理是一樣的。
發送端代碼,這里代碼相對簡陋,大家看看就可以了,需要的話可以自己優化
private void button1_Click(object sender, EventArgs e) { System.Net.WebClient client = new System.Net.WebClient(); client.UploadFile("http://192.168.1.150:12236/default.aspx?filename=1.3.7.42.rar", "d:/1.3.7.42.rar"); }
然后就是接受端的代碼了。也是很簡單的
protected void Page_Load(object sender, EventArgs e) { string fileName = "c:/vhost/wenjianshangchuan/" + Request.QueryString["filename"].Replace(".rar", "_bak.rar"); System.IO.Stream stream = Request.InputStream; byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); stream.Seek(0, SeekOrigin.Begin); stream.Flush(); stream.Close(); stream.Dispose(); FileStream fs = new FileStream(fileName, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(bytes); bw.Close(); fs.Close(); }