Как я могу проверить, существует ли изображение на http://someurl/myimage.jpg в C # / ASP.NET - PullRequest
3 голосов
/ 28 октября 2009

Как я могу проверить, существует ли изображение на http://someurl/myimage.jpg в C # / ASP.NET Кажется, должен быть способ проверить это, но я не могу его найти.

Я нашел это , но на самом деле он не отвечает на вопрос.

Ответы [ 5 ]

12 голосов
/ 28 октября 2009

Этот код должен работать:

private static bool UrlExists(string url)
{
    try
    {
        new System.Net.WebClient().DownloadData(url);
        return true;
    }
    catch (System.Net.WebException e)
    {
        if (((System.Net.HttpWebResponse)e.Response).StatusCode == System.Net.HttpStatusCode.NotFound)
            return false;
        else
            throw;
    }
}
11 голосов
/ 28 октября 2009

Вы можете попробовать использовать System.Net.WebRequest, чтобы отправить запрос 'HEAD' на этот URL-адрес и проверить ответ, чтобы увидеть, существует ли файл - это должно сделать работу, не пытаясь загрузить его .

2 голосов
/ 22 апреля 2016

строка fileextension = Path.GetExtension (имя файла);

if (fileextension.ToLower() == ".png" || fileextension.ToLower() == ".jpg" || fileextension.ToLower() == ".jpeg" || fileextension.ToLower() == ".gif" || fileextension.ToLower() == ".bmp"){}
1 голос
/ 28 октября 2009

Вы можете использовать функцию System.Net.WebClient.DownloadFile , чтобы попытаться загрузить изображение с URL-адреса и проверить, нет ли ошибки. (Скорее всего, ошибка 404 Not Found)

Это единственный способ сделать это с помощью URL. Пространство имен System.IO и все имеющиеся в нем функции предназначены для файлов на локальном компьютере или в сети, поэтому в этой ситуации они будут бесполезны для вас.

1 голос
/ 28 октября 2009

Может быть , это или , это может помочь. Я не думаю, что есть прямая команда для изображений, но вы можете попробовать использовать метод FileExist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...