当我们要传送一些小文件(小于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![](/Images/OutliningIndicators/InBlock.gif)
5
string strFileName=this.txtFileName.Text.Trim();
6
string strUrl=txtUrl.Text.Trim();
7
try
8![](/Images/OutliningIndicators/InBlock.gif)
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程序,接受端源程序为![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
//其中文件名已经给出.UpdateData是上传二进制数据,二进制的数据是作为二进制被传送的
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
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![](/Images/OutliningIndicators/None.gif)
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![](/Images/OutliningIndicators/InBlock.gif)
25
26![](/Images/OutliningIndicators/InBlock.gif)
27
Request.Files[0].SaveAs(@"C:\Downloads\" + Request.Files[0].FileName);//另存客户端传上来的文件
28![](/Images/OutliningIndicators/InBlock.gif)
29![](/Images/OutliningIndicators/InBlock.gif)
30
}
31![](/Images/OutliningIndicators/InBlock.gif)
32
Web 窗体设计器生成的代码
52
}
53
}
54![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
52
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
53
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
54
![](/Images/OutliningIndicators/None.gif)
这样就完成了,由于上传文件的大小还受内存的限制,这种方法只能传递小文件!