在winform中用FTP上传多个文件时,如何判断某个文件已上传完成?
在winform中用FTP上传多个文件时,如何一个接一个上传,并且要求上一个上传完成生下一个才开始,怎么做?sugengnn@Hotmail.com 问题点数:100、回复次数:7Top
1 楼lucbesson(女娃哈哈)回复于 2004-12-04 22:30:31 得分 10
估计这样的问题 只能等红色星星的哥哥来回答啦
顶一下!
学习Top
2 楼iwome(水兔子)回复于 2004-12-04 23:13:05 得分 15
不知道你用什么办法上传FTP服务器的。
我是自己写的FTP客户端。在发送文件的时候,读取本地文件,然后通过Socket发送出去。直到全部读取完毕即可。然后再进行下一个文件的传送。
这个没什么难的吧。
Top
3 楼fengqingyang1979(风轻扬)回复于 2004-12-05 00:37:56 得分 20
http://www.thecodeproject.com/csharp/LightFTPClient.aspTop
4 楼cancersyf(fengzhimei)回复于 2004-12-05 01:07:54 得分 15
参考fengqingyang1979(风轻扬)提供的链接。Top
5 楼zhzuo(秋枫)回复于 2004-12-05 11:18:24 得分 10
文件结束使用事件通知,或回调方法。Top
6 楼jt201314(涛)回复于 2004-12-13 23:50:02 得分 25
我和你遇到的问题一样的
我一个文件可以传 多个就报错 但是它还是把第一个文件上传了
DirectoryInfo di = new DirectoryInfo (@"c:\aa\text\");
DirectoryInfo di1 = new DirectoryInfo (@"d:\aa\text\");
FileInfo[] files=getpath.GetFiles("*.txt");
foreach(FileInfo fi in files)
{
FtpFile fileobject=new FtpFile(conn,"/jiangTest/"+fi);
Socket soc=fileobject.OpenWrite(TransMode.Append);
FileStream fs=new FileStream(fi.FullName,FileMode.Open);
byte[] bytes=new byte[512];
int i=512;
while(i==512)
{
i=fs.Read(bytes,0,512);
soc.Send(bytes,0,i,SocketFlags.None);
}
MessageBox.Show(fi.DirectoryName.ToString());
MessageBox.Show(fi.FullName.ToString());
soc.Close();
}
这么写还是有问题Top
7 楼owg(OMG)回复于 2004-12-13 23:52:31 得分 5
推荐一个FTP控件: http://www.evget.com/view/viewProductInfo.asp?productId=198Top




