111,119
社区成员
发帖
与我相关
我的任务
分享 //创建文件夹
if (!result) MakeDirectory(remoteSaveFilePath);
FtpWebResponse response = null;
FtpWebRequest req = null;
Stream stream = null;
FileStream fs = null;
try
{
FileInfo fi = new FileInfo(localFile);
Uri _uri = new Uri(uriStr + "/" + remoteSaveFilePath + "/" + fi.Name);
///上传
req = GetFtpWebRequest(WebRequestMethods.Ftp.UploadFile, _uri, ftp_uid, ftp_pwd);
req.ContentLength = fi.Length;
response = (FtpWebResponse)req.GetResponse();
int buffLength = 1024;
byte[] buff = new byte[buffLength];
int contentLen;
fs = fi.Open(FileMode.OpenOrCreate);
stream = req.GetRequestStream();
contentLen = fs.Read(buff, 0, buffLength);
while (contentLen != 0)
{
stream.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
stream.Close();
fs.Close();
response.Close();
Thread.Sleep(10);
}
catch (Exception ex)
{
if (stream != null)
{
fs.Close();
}
if (fs != null)
{
fs.Close();
}
if (response != null)
{
response.Close();
}
return false;
throw;
}
return true;[code=csharp][/code]猜想可能是因为第二次调用和每一次调用返回的是同一个FtpWebRequest对象
226 Transfer complete这个返回明显是第一次上传成功后Ftp服务顺的返回信息。

