为什么我的URI不受支持? FileInfo Argumentexception

时间:2015-01-10 13:24:53

标签: c# exception ftp uri fileinfo

我现在对我的代码非常困惑。我有一个CarPhoto对象,在该对象中是一个PhotoList列表。在该列表中是指向照片的链接,该照片位于我的FTP服务器上。

当我尝试删除该文件时,收到此消息:

mscorlib.dll中出现未处理的“System.ArgumentException”类型异常

其他信息:不支持URI格式。

以下是代码:

private void delete_Button_Click_1(object sender, EventArgs e)
{
    DialogResult result = MessageBox.Show("Wilt u deze foto echt verwijderen?", "Foto verwijderen", MessageBoxButtons.YesNo);
    if (result == DialogResult.Yes)
    {
        int index = imageLinkList.SelectedIndex;
        CarPhoto photo = car.PhotoList[index];
        FileInfo fi = new FileInfo(photo.Photolink); //The exception gets thrown here.The link is: http://pqrojectqars.herobo.com/Images/Fiat/Punto/Wit/40.jpg
        string extension = fi.Extension;
    }
}

有人能帮助我吗?

3 个答案:

答案 0 :(得分:0)

您需要使用FTP库连接到FTP服务器才能删除该文件。

FileInfo不了解FTP。

答案 1 :(得分:0)

FileInfo仅适用于位于UNC上的本地文件或文件:

来自MSDN

  

指定的路径也可以指相对路径或通用   服务器和共享名称的命名约定(UNC)路径

可以做的是执行FtpWebRequest执行文件删除:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DeleteFile;

using (FtpWebResponse response = (FtpWebResponse) request.GetResponse())
{
    Console.WriteLine("Delete status: {0}",response.StatusDescription);  
}

答案 2 :(得分:0)

谢谢大家,但我已经找到了解决方案。你们给我的FTP答案已经在代码中,我只需要找到文件的扩展名。它已经解决了。