我正在尝试使用PIL打开图像并获取其缩略图。 问题是PIL对我说:
无法识别图像文件
首先,我从S3存储桶下载映像,然后将其保存到AWS Lambda的/tmp/
目录中。我确定该文件存在,因为我是通过os.walk()
函数将其打印出来的。
我还尝试过直接传递文件的路径。
这是代码段:
bucket.download_file(bucket_key, '/tmp/' + 'michelin.png')
with open('/tmp/michelin.png', 'rb') as f:
im = Image.open(f)
有什么想法可以解决吗?预先感谢。
答案 0 :(得分:0)
您不需要提前打开文件。 PIL.Image.open将从内部执行此操作。 https://pillow.readthedocs.io/en/stable/reference/Image.html
Image.open('/tmp/michelin.png')
答案 1 :(得分:0)
已解决。 我不得不使用
img_file_s3 = s3.meta.client.download_file(bucket_name, bucket_key + 'michelin.png', '/tmp/michelin.png')
代替
bucket.download_file(bucket_key, '/tmp/' + 'michelin.png')