使用pgmagick从URL打开图像

时间:2014-04-02 21:59:23

标签: python pgmagick

在pgmagick中,您初始化如下图像:

Image('my_image.png')

我将对远程存储在S3上的文件进行操作,而不是暂时将它们存储在磁盘上。有没有办法从URL打开图像文件?当我尝试简单地用URL替换文件名时,出现错误:Unable to open file.

我希望能够使用网址。如果有人对此有任何建议或如何扩展pgmagick来实现它,我会感到高兴。

1 个答案:

答案 0 :(得分:1)

最简单的方法(在我看来)是使用了很棒的requests库。您可以一次从服务器中获取每个图像,然后使用Image()打开它:

from StringIO import StringIO
import requests
from pgmagick import Image, Blob

r = requests.get('https://server.com/path/to/image1.png', auth=('user', 'pass'))
img = Image(Blob(StringIO(r.content)))

这就是它的全部内容。当然不需要身份验证,但可能需要进行身份验证,具体取决于您的S3设置。玩得开心!