Классический ASP, папка которого принадлежит файлу, принадлежит

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

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

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

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

Если это должно было вернуть «04232», то имя папки, которое должно было бы принадлежать, было бы «04001-05000».

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

asp-classic,

1

Ответов: 1


1 принят

Для этого вам нужны два небольших метода. Во-первых, добавление строки:

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"))

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

жерех-классик,
Похожие вопросы