/// <summary>
/// 上传
/// </summary>
/// <param name="localFile">要上传到FTP服务器的文件</param>
/// <param name="ftpPath">FTP地址</param>
/// <param name="ftpUser">用户名</param>
/// <param name="ftpPassword">密码</param>
public static void UpLoadFile(string localFile, string ftpPath, string ftpUser, string ftpPassword)
{
if (ftpUser == null)
{
ftpUser = "";
}
if (ftpPassword == null)
{
ftpPassword = "";
}
if (!File.Exists(localFile))
{
MessageBox.Show("(上传文件)文件:“" + localFile + "” 不存在!");
return;
}
FtpWebRequest ftpWebRequest = null;
FileStream localFileStream = null;
Stream requestStream = null;
try
{
//ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath));
FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(ftpPath);
ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);
ftpWebRequest.UseBinary = true;
ftpWebRequest.KeepAlive = false;
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
ftpWebRequest.ContentLength = localFile.Length;
int buffLength = 44096;
byte[] buff = new byte[buffLength];
int contentLen;
localFileStream = new FileInfo(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);
}
}
catch
{
MessageBox.Show(" 上传文件");
}
finally
{
if (requestStream != null)
{
requestStream.Close();
}
if (localFileStream != null)
{
localFileStream.Close();
}
}
}
总是提示 连接不上,我是自己电脑建了一个ftp,在我的电脑可以登进去,用户和密码也没有错,我看到这个地方出问题了,求指教怎么办
/// 上传
/// </summary>
/// <param name="localFile">要上传到FTP服务器的文件</param>
/// <param name="ftpPath">FTP地址</param>
/// <param name="ftpUser">用户名</param>
/// <param name="ftpPassword">密码</param>
public static void UpLoadFile(string localFile, string ftpPath, string ftpUser, string ftpPassword)
{
if (ftpUser == null)
{
ftpUser = "";
}
if (ftpPassword == null)
{
ftpPassword = "";
}
if (!File.Exists(localFile))
{
MessageBox.Show("(上传文件)文件:“" + localFile + "” 不存在!");
return;
}
FtpWebRequest ftpWebRequest = null;
FileStream localFileStream = null;
Stream requestStream = null;
try
{
//ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath));
FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(ftpPath);
ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);
ftpWebRequest.UseBinary = true;
ftpWebRequest.KeepAlive = false;
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
ftpWebRequest.ContentLength = localFile.Length;
int buffLength = 44096;
byte[] buff = new byte[buffLength];
int contentLen;
localFileStream = new FileInfo(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);
}
}
catch
{
MessageBox.Show(" 上传文件");
}
finally
{
if (requestStream != null)
{
requestStream.Close();
}
if (localFileStream != null)
{
localFileStream.Close();
}
}
}
总是提示 连接不上,我是自己电脑建了一个ftp,在我的电脑可以登进去,用户和密码也没有错,我看到这个地方出问题了,求指教怎么办
正确的格式应该是
ftp://servername/%2fdirectory/uploadName
//ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath));
FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(ftpPath);
ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);这个ftpWebRequest根本没有初始话肯定连不上去阿
string ftpPath = "ftp://192.168.2.3:22/image";是这样吗?
ftp://servername/%2fdirectory/uploadName,uploadName是什么?