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