<%
'---------------------------------------------
'Имя функции: ChkImg
'Функция: проверить, является ли файл изображения легальным
'Параметры: img, путь к изображению, абсолютный путь относительно корневого каталога сайта.
'Возвращаемое значение: логический тип, если изображение допустимо, верните True, в противном случае верните False
'Условие: сервер должен поддерживать компонент AspJpeg,
'Если она не поддерживается, во избежание невозможности загрузки всех изображений эта функция напрямую возвращает True
'http://www.downcodes.com/asp.asp
'---------------------------------------------
Функция ChkImg(img)
При возобновлении ошибки Далее 'Чтобы получить информацию об ошибке, код должен продолжить выполнение при возникновении ошибки.
Dim RetunValue, ChkJpeg
RetunValue = True
'Если путь пуст, изображение считается незаконным.
Если isnull(img) Тогда ChkImg = False: Выход из
набора функций ChkJpeg = Server.CreateObject("Persits.Jpeg")
If -2147221005 <> Err then 'Если компонент поддерживается, используйте его для проверки легальности изображения.
ChkJpeg.Open Server.mappath(img)
Если Ошибка Тогда
Ретунвалуэ = ложь
Конец, если
Else 'Если компонент не поддерживается, пропустите и верните True напрямую.
Ретунвалуэ = Истина
Конец, если
'Необходимые последующие работы
Если Err.number <> 0 Тогда Err.clear
Установить ChkJpeg = Ничего
ChkImg = RetunValue
Конечная функция
%>
Примечание. Поскольку AspJpeg может обрабатывать только файлы, которые уже находятся на сервере, нам необходимо сделать это во время фактического применения: сначала загрузить изображение во временную папку, а затем проверить легальность изображения. Если оно легально, скопируйте изображение. в каталог сохранения изображения, удалите временный файл и верните сообщение об успешной загрузке. Если это незаконно, удалите временный файл напрямую и верните предупреждение об ошибке.
Поскольку изображение открывается только с помощью AspJpeg и никакая обработка изображения не выполняется, эффективность выполнения этой функции по-прежнему очень высока, и практически нет необходимости беспокоиться о проблемах с эффективностью во время использования.