报错内容:System.Net.WebException:基础链接已关闭,接收时发生错误
我在测试时候用自己的ftp空间时没有任何错误,能够上传的ftp的指定目录,可是换了客户的空间就报错了,请高手帮助解决,或者是给我提供一个更好的代码,谢谢大家了!
//这是我写的上传的方法//调用:UploadFun(filepath1, @"ftp://www.beigou.org/wwwroot/proimg/123.jpg); /// <summary>
/// 将图片上传到ftp空间
/// </summary>
/// <param name="fileName">本地图片的路径</param>
/// <param name="uploadUrl">ftp实际路径格式:ftp://+域名+/文件夹+123.jpg</param>
/// <returns></returns>
private FtpStatusCode UploadFun(string fileName, string uploadUrl)
{
try
{
Stream requestStream = null;
FileStream fileStream = null;
FtpWebResponse uploadResponse = null;
try
{
FtpWebRequest uploadRequest =
(FtpWebRequest)WebRequest.Create(uploadUrl);
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;
uploadRequest.Proxy = null;
NetworkCredential nc = new NetworkCredential();
nc.UserName = "woeret"; //ftp用户名
nc.Password = "此处略去"; //ftp密码
uploadRequest.Credentials = nc; //修改getCredential();错误2
requestStream = uploadRequest.GetRequestStream();
fileStream = File.Open(fileName, FileMode.Open);
byte[] buffer = new byte[1024];
int bytesRead;
while (true)
{
bytesRead = fileStream.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
break;
requestStream.Write(buffer, 0, bytesRead);
}
requestStream.Close();
uploadResponse = (FtpWebResponse)uploadRequest.GetResponse();
return uploadResponse.StatusCode; }
catch (UriFormatException ex)
{
MessageBox.Show(ex.ToString());
}
catch (IOException ex)
{
MessageBox.Show(ex.ToString());
}
catch (WebException ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if (uploadResponse != null)
uploadResponse.Close();
if (fileStream != null)
fileStream.Close();
if (requestStream != null)
requestStream.Close();
}
}
catch
{
MessageBox.Show("将图片上传至服务器时出错,请稍后再试!");
}
return FtpStatusCode.Undefined;
}
我在测试时候用自己的ftp空间时没有任何错误,能够上传的ftp的指定目录,可是换了客户的空间就报错了,请高手帮助解决,或者是给我提供一个更好的代码,谢谢大家了!
//这是我写的上传的方法//调用:UploadFun(filepath1, @"ftp://www.beigou.org/wwwroot/proimg/123.jpg); /// <summary>
/// 将图片上传到ftp空间
/// </summary>
/// <param name="fileName">本地图片的路径</param>
/// <param name="uploadUrl">ftp实际路径格式:ftp://+域名+/文件夹+123.jpg</param>
/// <returns></returns>
private FtpStatusCode UploadFun(string fileName, string uploadUrl)
{
try
{
Stream requestStream = null;
FileStream fileStream = null;
FtpWebResponse uploadResponse = null;
try
{
FtpWebRequest uploadRequest =
(FtpWebRequest)WebRequest.Create(uploadUrl);
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;
uploadRequest.Proxy = null;
NetworkCredential nc = new NetworkCredential();
nc.UserName = "woeret"; //ftp用户名
nc.Password = "此处略去"; //ftp密码
uploadRequest.Credentials = nc; //修改getCredential();错误2
requestStream = uploadRequest.GetRequestStream();
fileStream = File.Open(fileName, FileMode.Open);
byte[] buffer = new byte[1024];
int bytesRead;
while (true)
{
bytesRead = fileStream.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
break;
requestStream.Write(buffer, 0, bytesRead);
}
requestStream.Close();
uploadResponse = (FtpWebResponse)uploadRequest.GetResponse();
return uploadResponse.StatusCode; }
catch (UriFormatException ex)
{
MessageBox.Show(ex.ToString());
}
catch (IOException ex)
{
MessageBox.Show(ex.ToString());
}
catch (WebException ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if (uploadResponse != null)
uploadResponse.Close();
if (fileStream != null)
fileStream.Close();
if (requestStream != null)
requestStream.Close();
}
}
catch
{
MessageBox.Show("将图片上传至服务器时出错,请稍后再试!");
}
return FtpStatusCode.Undefined;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货