求C# 程序实现WindowsMobile/WinCE下的FTP上传下载

cherry9400 2010-08-05 11:34:25
最近做一个项目,需要手持终端(WM/CE)对PC端FTP服务器上执行文件的批量上传下载,看了网上很多的帖子,很多都是WebForm、winform上实现的,不管用。各位大侠有没有什么好的例子(最好是稳定的,上传下载速度还可以接受的)。
只剩下这么多分了。如果需要还可以赞了给出。
...全文
636 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
linker666 2013-03-15
  • 打赏
  • 举报
回复
lazarus 可以实现 就不好调试
oushengfen 2013-03-06
  • 打赏
  • 举报
回复
引用 8 楼 top_wo 的回复:
引用 7 楼 wzz_boy 的回复:6楼的大哥 你这段代码是在winform 或者webform运行的吧 楼主的意思是要在windows mobile下的客服端程序 这位懂楼主的问题吗?6楼的哪里回答错了?不懂就别乱说,显得没文化!
WINCE下,C#根本没有这个类,FtpWebRequest reqFTP; 你如何实现?如果光这样简单,估计也没有几个人会来问了.
top_wo 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wzz_boy 的回复:]

6楼的大哥 你这段代码是在winform 或者webform运行的吧 楼主的意思是要在windows mobile下的客服端程序
[/Quote] 这位懂楼主的问题吗?6楼的哪里回答错了?不懂就别乱说,显得没文化!
wzz_boy 2011-09-01
  • 打赏
  • 举报
回复
6楼的大哥 你这段代码是在winform 或者webform运行的吧 楼主的意思是要在windows mobile下的客服端程序
kingmax54212008 2010-08-28
  • 打赏
  • 举报
回复
不推荐用Webservice,性能不行。
可以用ftp C#客户端程序.
我给你个我们项目中的上传和下载。很稳定.试一下,有问题再沟通。


/***************************************************************/
/************FTP Class for upload and download *****************/
/***************************************************************/
/***************************************************************/

public class FtpWeb
{
string ftpServerIP;
string ftpRemotePath;
string ftpUserID;
string ftpPassword;
string ftpURI;

/// <summary>
/// 连接FTP
/// </summary>
/// <param name="FtpServerIP">FTP连接地址</param>
/// <param name="FtpRemotePath">指定FTP连接成功后的当前目录, 如果不指定即默认为根目录</param>
/// <param name="FtpUserID">用户名</param>
/// <param name="FtpPassword">密码</param>
public FtpWeb(string FtpServerIP, string FtpRemotePath, string FtpUserID, string FtpPassword)
{
ftpServerIP = FtpServerIP;
ftpRemotePath = FtpRemotePath;
ftpUserID = FtpUserID;
ftpPassword = FtpPassword;
ftpURI = "ftp://" + ftpServerIP + "/" + ftpRemotePath + "/";
}

/// <summary>
/// 上传
/// </summary>
/// <param name="filename"></param>
public void Upload(string filename)
{
FileInfo fileInf = new FileInfo(filename);
string uri = ftpURI + fileInf.Name;
FtpWebRequest reqFTP;

reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary = true;
reqFTP.ContentLength = fileInf.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
FileStream fs = fileInf.OpenRead();
try
{
Stream strm = reqFTP.GetRequestStream();
contentLen = fs.Read(buff, 0, buffLength);
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
strm.Close();
fs.Close();
}
catch (Exception ex)
{
Insert_Standard_ErrorLog.Insert("FtpWeb", "Upload Error --> " + ex.Message);
}
}

/// <summary>
/// 下载
/// </summary>
/// <param name="filePath"></param>
/// <param name="fileName"></param>
public void Download(string filePath, string fileName)
{
FtpWebRequest reqFTP;
try
{
FileStream outputStream = new FileStream(filePath + "\\" + fileName, FileMode.Create);

reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + fileName));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];

readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}

ftpStream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
Insert_Standard_ErrorLog.Insert("FtpWeb", "Download Error --> " + ex.Message);
}
}


}
shiyantour 2010-08-15
  • 打赏
  • 举报
回复
http://www.cnblogs.com/wskfire/archive/2007/11/30/978171.html
cxjLike 2010-08-12
  • 打赏
  • 举报
回复
WebService,稳定,简单.
zhangwudi2008 2010-08-09
  • 打赏
  • 举报
回复
我也想知道呢,有做过的没有?
lsq667 2010-08-06
  • 打赏
  • 举报
回复
WindowsMobile/WinCE下的FTP上传下载?还真没写过类似功能。飘过,学习下
wuyq11 2010-08-06
  • 打赏
  • 举报
回复
FTPputfile
socket通讯

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧