Почему мой URI не поддерживается? FileInfo Argumentexception

1

Я очень запутался в своем коде прямо сейчас. У меня есть объект CarPhoto, и в этом объекте есть список PhotoList. В этом списке есть ссылка на фотографию, которая находится на моем FTP-сервере.

Когда я пытаюсь удалить файл, я получаю это сообщение:

Необработанное исключение типа "System.ArgumentException" произошло в mscorlib.dll

Дополнительная информация: форматы 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;
    }
}

Кто-нибудь может мне помочь?

  • 2
    FileInfo описывает файл, который находится на вашем локальном компьютере или UNC. Он не может описать удаленный файл, сидящий на вашем FTP-сервере.
Теги:
exception
ftp
uri
fileinfo

3 ответа

0
Лучший ответ

Спасибо, ребята, но я уже нашел решение. Ответ FTP, который вы, ребята, даете мне, уже был в коде, мне просто нужно было найти расширение файла. он решил.

0

FileInfo будет работать только для локальных файлов или файлов, сидящих на UNC:

Из MSDN:

Указанный путь также может относиться к относительному пути или к пути UNC (Universal Naming Convention) (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);  
}
0

Для удаления файла вам необходимо подключиться к FTP-серверу с помощью FTP-библиотеки.

FileInfo не знает о FTP.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню