Классический ASP, к какой папке принадлежит файл - PullRequest
0 голосов
/ 23 июня 2018

У меня есть структура папок, в которой изображения хранятся тысячами, например, следующие имена папок:

00001-01000
01001-02000
02001-03000
03001-04000
04001-05000
05001-06000
06001-07000

Затем я динамически отрисовываю страницу для отображения всех видов изображений. На странице я пытаюсь создать ссылку на изображение, но мне нужно выяснить, к какой папке принадлежит изображение. Например, я использую следующее, чтобы получить идентификатор изображения из базы данных

<%= rs.Fields("imageid") %>

Если бы это возвращало '04232', имя папки, к которой он принадлежал, было бы '04001-05000'.

Есть ли какой-нибудь способ, которым я мог бы выяснить, каково будет имя папки, только имея imageid в классическом asp?

1 Ответ

0 голосов
/ 24 июня 2018

Для этого вам понадобятся два небольших метода.Сначала добавьте строку:

Function PadLeft(str, padChar, desiredLength)
    Dim result
    result = CStr(str)
    Do Until Len(result)>=desiredLength
        result = padChar & result
    Loop
    PadLeft = result
End Function

И метод поиска имени папки:

Function ExtractFolderName(imageFileName)
    Dim numericValue, rangeStart, rangeEnd
    numericValue = CInt(imageFileName)
    rangeStart = (Fix((numericValue / 1000)) * 1000) + 1
    rangeEnd = (Fix((numericValue / 1000)) + 1) * 1000
    ExtractFolderName = PadLeft(rangeStart, "0", 5) & "-" & PadLeft(rangeEnd, "0", 5)
End Function

Чтобы использовать его:

folderName = ExtractFolderName(rs("imageid"))

В основном, методвыполняет некоторую математику с именем, чтобы найти нужный диапазон.Обратите внимание, что это приведет к ошибке в случае не числового значения в базе данных.

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