当我们要传送一些小文件(小于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。
1
private 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程序,接受端源程序为
private 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
try8

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
} 1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using System.Net;
12
13
namespace 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
using System;2
using System.Collections;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Web;7
using System.Web.SessionState;8
using System.Web.UI;9
using System.Web.UI.WebControls;10
using System.Web.UI.HtmlControls;11
using System.Net;12

13
namespace WebClient14
{15
/// <summary>16
/// WebForm1 的摘要说明。17
/// </summary>18
public class WebForm1 : System.Web.UI.Page19
{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

这样就完成了,由于上传文件的大小还受内存的限制,这种方法只能传递小文件!


浙公网安备 33010602011771号