在pgmagick中,您初始化如下图像:
Image('my_image.png')
我将对远程存储在S3上的文件进行操作,而不是暂时将它们存储在磁盘上。有没有办法从URL打开图像文件?当我尝试简单地用URL替换文件名时,出现错误:Unable to open file.
我希望能够使用网址。如果有人对此有任何建议或如何扩展pgmagick来实现它,我会感到高兴。
答案 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设置。玩得开心!