上传代码如下:
public bool fileUpload(string localPath, string ftpFileName)
{
bool success = false;
FtpWebRequest ftpWebRequest = null;
FileStream localFileStream = null;
Stream requestStream = null;
//FileStream fs = null;
try
{
FileInfo localFile = new FileInfo(localPath);//检查本地是否存在要上传的文件
if (localFile.Exists)
{
string uri = ftpRootURL + ftpFileName;
ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);
ftpWebRequest.UseBinary = true;
ftpWebRequest.KeepAlive = false;
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
ftpWebRequest.ContentLength = localFile.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
localFileStream = localFile.OpenRead();
requestStream = ftpWebRequest.GetRequestStream(); //报错处
contentLen = localFileStream.Read(buff, 0, buffLength);
while (contentLen != 0)
{
requestStream.Write(buff, 0, contentLen);
contentLen = localFileStream.Read(buff, 0, buffLength);
}
success = true;
}
else
{
success = false;
}
}
catch (Exception)
{
success = false;
}
finally
{
if (requestStream != null)
{
requestStream.Close();
//fs.Close();
}
if (localFileStream != null)
{
localFileStream.Close();
}
//if (ftpWebRequest != null)
//{
// ftpWebRequest.();
//}
}
return success;
}
requestStream = ftpWebRequest.GetRequestStream(); 这里总是报错。我是有很多图片一起上传的,就是一个循环。有些能传上去有些不能,偶尔全部都能。报错是基础对象已关闭
public bool fileUpload(string localPath, string ftpFileName)
{
bool success = false;
FtpWebRequest ftpWebRequest = null;
FileStream localFileStream = null;
Stream requestStream = null;
//FileStream fs = null;
try
{
FileInfo localFile = new FileInfo(localPath);//检查本地是否存在要上传的文件
if (localFile.Exists)
{
string uri = ftpRootURL + ftpFileName;
ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);
ftpWebRequest.UseBinary = true;
ftpWebRequest.KeepAlive = false;
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
ftpWebRequest.ContentLength = localFile.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
localFileStream = localFile.OpenRead();
requestStream = ftpWebRequest.GetRequestStream(); //报错处
contentLen = localFileStream.Read(buff, 0, buffLength);
while (contentLen != 0)
{
requestStream.Write(buff, 0, contentLen);
contentLen = localFileStream.Read(buff, 0, buffLength);
}
success = true;
}
else
{
success = false;
}
}
catch (Exception)
{
success = false;
}
finally
{
if (requestStream != null)
{
requestStream.Close();
//fs.Close();
}
if (localFileStream != null)
{
localFileStream.Close();
}
//if (ftpWebRequest != null)
//{
// ftpWebRequest.();
//}
}
return success;
}
requestStream = ftpWebRequest.GetRequestStream(); 这里总是报错。我是有很多图片一起上传的,就是一个循环。有些能传上去有些不能,偶尔全部都能。报错是基础对象已关闭
http://www.codeproject.com/KB/IP/FtpClient.aspx