Python模块imageop已弃用:但在CGI中创建缩略图很有用!能怎样?

时间:2012-01-12 09:28:51

标签: python cgi thumbnails scale

Python的imageop模块在CGI中非常有用,可以自动从上传的图像中创建缩略图,但根据其documentation,它自2.6以来已被弃用。

我正在使用共享服务器,所以我不能自己安装PIL,imagemagick或类似的东西。我怎样才能从上传的图像中创建缩略图?因为Javascript不能在客户端那样做,不是没有使用canvas,对吧?

1 个答案:

答案 0 :(得分:2)

你是对的,你不能用javascript做到这一点 - 不是没有将整个图像内容传回给浏览器。

至于Python - 被“弃用”并不意味着它被删除 - 它仍然存在于Python 2.7中,并且因为Python 2.7将或多或少地“永久地”维护,因为每个人都需要花费更多时间来移动对于Python 3.x,你可以指望imageop可用。

至于安装PIL - 这是“可行的方法” - 您不必以root身份安装它 - 它可以作为unix用户进行安装。这意味着:您需要shell访问权限,或者至少需要文件部署访问权限,才能将其放在您具有写入权限的目录上,并相应地设置PYTHONPATH。

但是,以这种方式安装PIL可能很棘手,可以这样做 - 在最坏的情况下(如果你只有文件写访问权限,但没有shell),你必须模仿你身边的运行环境(例如,安装了与服务器上相同库版本的VM),并在那里构建它,然后将文件移动到服务器。

搜索纯Python处理图像的方式会产生PNGCanvas,但它没有图像缩放功能。 (当然,只能处理PNG文件)。

另一种方法是利用Web服务为您执行图像操作 - 然后将整个图像发布到另一台服务器中的应用程序,并仅检索您的缩略图。搜索“免费图像网络服务”会产生许多结果。