Простой сервер изображений - PullRequest
11 голосов
/ 17 марта 2010

У меня есть куча изображений, которые нужны другим пользователям для просмотра через веб-браузер почти так же, как Apache-Gallery .

Я смогу выгрузить все свои изображения в каталог, чтобы пользователи нажимали:

http://server:port/directory

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

Я ищу решение, отличное от Apache, очень похожее на замечательный простой http-сервер Python, которое можно запустить в любом месте с минимальной конфигурацией, например,

python -m SimpleHTTPServer 8000

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

Рад использовать приложение, написанное на любом общем языке, при условии, что оно автономно и может работать на linux через пользовательский порт (и, повторюсь, не модуль Apache).

UPDATE

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

Ответы [ 3 ]

12 голосов
/ 29 октября 2014

Это было довольно давно, но я только начал imageMe , цель которого - удовлетворить именно эту потребность. Вы можете настроить его с помощью инструкций на сайте, но если вы просто хотите разместить базовую галерею изображений внутри и ниже вашего текущего местоположения, эта команда запустит его на порту 8000:

curl https://raw.githubusercontent.com/unwitting/imageme/master/imageme.py | python

Надеюсь, это поможет любому, кто придет, получить ответ на этот вопрос!

4 голосов
/ 22 марта 2010

Спасибо за ответы и комментарии. Решение, которое я использовал в итоге, соответствовало моему обновлению:

  1. Запустите curator в каталоге, содержащем все мои изображения. Это создает большие пальцы и индексную страницу, а также нумерацию страниц для всех полноразмерных изображений.
  2. Запустите «*python -m SimpleHTTPServer 8000*» в этом каталоге, чтобы просмотреть результирующий HTML, сгенерированный куратором

Так что это простой двухэтапный процесс, который в значительной степени удовлетворяет моим начальным требованиям.

3 голосов
/ 17 марта 2010

Хотя он и не использует класс SimpleHTTPServer, этот скрипт cgi-bin показывает, как очень просто отображать изображения. Расширьте его в соответствии с вашими потребностями. Источник здесь.

from os import listdir
from random import choice

ext2conttype = {"jpg": "image/jpeg",
                "jpeg": "image/jpeg",
                "png": "image/png",
                "gif": "image/gif"}

def content_type(filename):
    return ext2conttype[filename[filename.rfind(".")+1:].lower()]

def isimage(filename):
    """true if the filename's extension is in the content-type lookup"""
    filename = filename.lower()
    return filename[filename.rfind(".")+1:] in ext2conttype

def random_file(dir):
    """returns the filename of a randomly chosen image in dir"""
    images = [f for f in listdir(dir) if isimage(f)]
    return choice(images)

if __name__ == "__main__":
    dir = "c:\\python\\random_img\\"
    r = random_file(dir)
    print "Content-type: %s\n" % (content_type(r))
    print file(dir+r, "rb").read()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...