当我们要传送一些小文件(小于10M左右时),如果是web程序则直接可用FileField控件上传。
如果是c/s程序,则可以利用webClient类的UploadFile上传一些小文件。演示程序如下:
1.客户端c/s发送程序:WebClient命名空间为System.Net,具体用法参考MSDN。
这样就完成了,由于上传文件的大小还受内存的限制,这种方法只能传递小文件!
如果是c/s程序,则可以利用webClient类的UploadFile上传一些小文件。演示程序如下:
1.客户端c/s发送程序:WebClient命名空间为System.Net,具体用法参考MSDN。
1private void btnUpload_Click(object sender, System.EventArgs e)
2 {
3 System.Net.WebClient oWebClient =new System.Net.WebClient();
4
5 string strFileName=this.txtFileName.Text.Trim();
6 string strUrl=txtUrl.Text.Trim();
7 try
8
9 {
10
11
12 //如strUrl=http://192.10.27.123/WebClient/WebForm1.aspx,strFileName=c:\log.txt。注意UploadFile是上传指定的文件
//其中文件名已经给出.UpdateData是上传二进制数据,二进制的数据是作为二进制被传送的
13 oWebClient.UploadFile(strUrl,"POST",strFileName);
14
15 MessageBox.Show("上传成功!");
16 }
17 catch(Exception ex)
18 {
19 MessageBox.Show(ex.Message);
20 }
21
22
23 }
客户端的c/s程序建立完毕后,然后就是模拟服务端程序了,我们建立一个名为WebClient的web程序,接受端源程序为2 {
3 System.Net.WebClient oWebClient =new System.Net.WebClient();
4
5 string strFileName=this.txtFileName.Text.Trim();
6 string strUrl=txtUrl.Text.Trim();
7 try
8
9 {
10
11
12 //如strUrl=http://192.10.27.123/WebClient/WebForm1.aspx,strFileName=c:\log.txt。注意UploadFile是上传指定的文件
//其中文件名已经给出.UpdateData是上传二进制数据,二进制的数据是作为二进制被传送的
13 oWebClient.UploadFile(strUrl,"POST",strFileName);
14
15 MessageBox.Show("上传成功!");
16 }
17 catch(Exception ex)
18 {
19 MessageBox.Show(ex.Message);
20 }
21
22
23 }
1using System;
2using System.Collections;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Web;
7using System.Web.SessionState;
8using System.Web.UI;
9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11using System.Net;
12
13namespace WebClient
14{
15 /// <summary>
16 /// WebForm1 的摘要说明。
17 /// </summary>
18 public class WebForm1 : System.Web.UI.Page
19 {
20 private void Page_Load(object sender, System.EventArgs e)
21 {
22 // 在此处放置用户代码以初始化页面
23 // '在此处放置初始化页的用户代码
24
25
26
27 Request.Files[0].SaveAs(@"C:\Downloads\" + Request.Files[0].FileName);//另存客户端传上来的文件
28
29
30 }
31
32 Web 窗体设计器生成的代码
52 }
53}
54
2using System.Collections;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Web;
7using System.Web.SessionState;
8using System.Web.UI;
9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11using System.Net;
12
13namespace WebClient
14{
15 /// <summary>
16 /// WebForm1 的摘要说明。
17 /// </summary>
18 public class WebForm1 : System.Web.UI.Page
19 {
20 private void Page_Load(object sender, System.EventArgs e)
21 {
22 // 在此处放置用户代码以初始化页面
23 // '在此处放置初始化页的用户代码
24
25
26
27 Request.Files[0].SaveAs(@"C:\Downloads\" + Request.Files[0].FileName);//另存客户端传上来的文件
28
29
30 }
31
32 Web 窗体设计器生成的代码
52 }
53}
54
这样就完成了,由于上传文件的大小还受内存的限制,这种方法只能传递小文件!