2010-03-17 120 views
10

我有一堆图像,我需要别人通过网络浏览器以几乎相同的方式浏览Apache-Gallery简单图像服务器

我能够转储我所有的图片目录中,以便用户打:

http://server:port/directory

会看到小缩略图,并选择图像将与选项加载它全尺寸的页面上浏览上一张或下一张图片。

我正在寻找非Apache解决方案,非常类似于奇妙的Python简单http服务器,可以使用最少的配置随时随地启动& fuss例如

python -m SimpleHTTPServer 8000 

实际上,蟒蛇溶液上是相当多想我想只是它不缩略图图像,但只是一个简单的目录列表。

很高兴能够使用任何通用语言编写的应用程序,只要它是自包含的,并且可以在自定义端口(并重新遍历,而不是Apache模块)上的Linux上运行。

UPDATE

我才发现所谓的curator一个python脚本,简单运行。它会从您指向的目录中的任何图像生成所需的拇指和静态html,之后您可以使用SimpleHttpServer来销售结果。

+2

SimpleHTTPRequestHandler是一个非常简单的类,您只需调整它即可添加缩略图,还可以使用PIL – 2010-03-17 16:31:59

+0

即时生成缩略图感谢您的提示。馆长似乎尽我所需,但现在... – Joel 2010-03-17 16:36:30

+0

@AuuragUniyal你会怎样调整它?我想尝试一下。 – user3155368 2017-07-06 00:23:22

回答

4

感谢您的回答和评论。我最终使用的解决方案是根据我的更新:

  1. 在包含我所有图像的目录中运行curator。这会产生大拇指和索引页面,以及分页到所有全尺寸图像。
  2. 运行“*python -m SimpleHTTPServer 8000*”在该目录浏览策展人

产生的结果HTML所以这是一个简单的两步过程,几乎满足了我最初的要求。

+0

这很有效,直到它试图在缩略图生成过程中将gif解释为jpeg。当我在某个时间获得空闲时间时,我会看到我是否能够以某种方式修复此软件包。 – 2014-07-28 01:09:38

3

尽管它不使用SimpleHTTPServer类,但该cgi-bin脚本显示了如何以非常简单的方式显示图像。将其扩展以适应您的需求。 Source is here.

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() 
+0

thx,将检查出它 – Joel 2010-03-17 16:11:08

9

现在这已经是很久以前的事了,但我刚刚开始imageMe,它的目标是完全满足这种需求。您可以通过网站上的说明来设置它,但如果你只是想以服务和您的当前位置下面的图像的基本库,此命令将在端口8000上运行它:

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

希望这帮助任何人前来解答这个问题!