Я очень запутался в своем коде прямо сейчас. У меня есть объект 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;
}
}
Кто-нибудь может мне помочь?
Спасибо, ребята, но я уже нашел решение. Ответ FTP, который вы, ребята, даете мне, уже был в коде, мне просто нужно было найти расширение файла. он решил.
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);
}
Для удаления файла вам необходимо подключиться к FTP-серверу с помощью FTP-библиотеки.
FileInfo
не знает о FTP.
FileInfo
описывает файл, который находится на вашем локальном компьютере или UNC. Он не может описать удаленный файл, сидящий на вашем FTP-сервере.