C#做的FTP服务器遇到问题
用C#做了一个ftp图片服务器,权限为可读可写而且,可以下载图片,可以创建和删除文件夹,可以上传图片但是,每次想删除图片的时候,都不行,第一次可以删除掉,可是第二次就不行...
用C#做了一个ftp图片服务器,权限为可读可写
而且,可以下载图片,可以创建和删除文件夹,可以上传图片
但是,每次想删除图片的时候,都不行,第一次可以删除掉,可是第二次就不行了出现以下错误
主要代码如下:
private void btnDeletePhoto_Click(object sender, EventArgs e)
{
if (TreeView1.SelectedNode.ImageIndex!= ico_PHOTO)//如果选择的不是图片,那么就弹出对话框提示应该选择一个图片才可以@@@
{
MessageBox.Show("Please select a photo to delete!!");
return;
}
try
{
string FullPath = Properties.Settings.Default.FTP_SERVER + TreeView1.SelectedNode.FullPath.Substring(1).Replace(@"\", "/");
FtpWebResponse ftpResp = PerformWebRequest(FullPath, WebRequestMethod.DeleteFile );
TreeView1.SelectedNode.Remove();
toolStripStatusLabel1.Text = ftpResp.StatusDescription.Replace("\r\n", string.Empty);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
这是另一个用与删除的函数
private FtpWebResponse PerformWebRequest(string path, WebRequestMethod method)
{
Cursor.Current = Cursors.WaitCursor;
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create(path);
ftpReq.KeepAlive = false;
switch (method)
{
case WebRequestMethod.DeleteFile :
ftpReq.Method = WebRequestMethods.Ftp.DeleteFile;
break;
case WebRequestMethod.DownloadFile:
ftpReq.Method = WebRequestMethods.Ftp.DownloadFile ;
break;
case WebRequestMethod.MakeDirectory :
ftpReq.Method = WebRequestMethods.Ftp.MakeDirectory ;
break;
case WebRequestMethod.ListDirectoryDetails :
ftpReq.Method = WebRequestMethods.Ftp.ListDirectoryDetails ;
break;
case WebRequestMethod.RemoveDirectory :
ftpReq.Method = WebRequestMethods.Ftp.RemoveDirectory ;
break;
}
ftpReq.Credentials = new NetworkCredential(Properties .Settings .Default .UserName,Properties .Settings .Default.Password );
FtpWebResponse ftpResp = (FtpWebResponse)ftpReq.GetResponse();
Cursor.Current = Cursors.Default;
return ftpResp;
} 展开
而且,可以下载图片,可以创建和删除文件夹,可以上传图片
但是,每次想删除图片的时候,都不行,第一次可以删除掉,可是第二次就不行了出现以下错误
主要代码如下:
private void btnDeletePhoto_Click(object sender, EventArgs e)
{
if (TreeView1.SelectedNode.ImageIndex!= ico_PHOTO)//如果选择的不是图片,那么就弹出对话框提示应该选择一个图片才可以@@@
{
MessageBox.Show("Please select a photo to delete!!");
return;
}
try
{
string FullPath = Properties.Settings.Default.FTP_SERVER + TreeView1.SelectedNode.FullPath.Substring(1).Replace(@"\", "/");
FtpWebResponse ftpResp = PerformWebRequest(FullPath, WebRequestMethod.DeleteFile );
TreeView1.SelectedNode.Remove();
toolStripStatusLabel1.Text = ftpResp.StatusDescription.Replace("\r\n", string.Empty);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
这是另一个用与删除的函数
private FtpWebResponse PerformWebRequest(string path, WebRequestMethod method)
{
Cursor.Current = Cursors.WaitCursor;
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create(path);
ftpReq.KeepAlive = false;
switch (method)
{
case WebRequestMethod.DeleteFile :
ftpReq.Method = WebRequestMethods.Ftp.DeleteFile;
break;
case WebRequestMethod.DownloadFile:
ftpReq.Method = WebRequestMethods.Ftp.DownloadFile ;
break;
case WebRequestMethod.MakeDirectory :
ftpReq.Method = WebRequestMethods.Ftp.MakeDirectory ;
break;
case WebRequestMethod.ListDirectoryDetails :
ftpReq.Method = WebRequestMethods.Ftp.ListDirectoryDetails ;
break;
case WebRequestMethod.RemoveDirectory :
ftpReq.Method = WebRequestMethods.Ftp.RemoveDirectory ;
break;
}
ftpReq.Credentials = new NetworkCredential(Properties .Settings .Default .UserName,Properties .Settings .Default.Password );
FtpWebResponse ftpResp = (FtpWebResponse)ftpReq.GetResponse();
Cursor.Current = Cursors.Default;
return ftpResp;
} 展开
若以下回答无法解决问题,邀请你更新回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询