小编use*_*691的帖子

将图像保存为字节并上传到boto3返回内容-MD5不匹配

我正在尝试从s3中提取图像,量化它/操纵它,然后将其存储回s3而不将任何内容保存到磁盘(完全在内存中).我曾经做过一次,但是在返回代码并再次尝试它之后就没用了.代码如下:

import boto3
import io
from PIL import Image

client = boto3.client('s3',aws_access_key_id='',
        aws_secret_access_key='')
cur_image = client.get_object(Bucket='mybucket',Key='2016-03-19 19.15.40.jpg')['Body'].read()

loaded_image = Image.open(io.BytesIO(cur_image))
quantized_image = loaded_image.quantize(colors=50)
saved_quantized_image = io.BytesIO()
quantized_image.save(saved_quantized_image,'PNG')
client.put_object(ACL='public-read',Body=saved_quantized_image,Key='testimage.png',Bucket='mybucket')
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

botocore.exceptions.ClientError: An error occurred (BadDigest) when calling the PutObject operation: The Content-MD5 you specified did not match what we received.
Run Code Online (Sandbox Code Playgroud)

如果我只是拉一个图像然后把它放回去而不操纵它,它工作正常.我不太确定这里发生了什么.

amazon-s3 python-imaging-library python-3.x pillow boto3

15
推荐指数
2
解决办法
7839
查看次数

应用程序的Instagram OAuth访问令牌到期

我正在创建一个应用程序,它将使用用户访问令牌从主题标签Feed中提取图像,并且我希望确保OAuth令牌不会过期.用户将定期访问该网站,但我不希望它依赖于instagrams可能 - 有朝一日会有关于令牌何时到期的态度.

我也不想使用应用程序级别令牌,因为我每小时只能获得有限数量的呼叫,并且随着更多用户的添加而迅速缩小.

有没有办法刷新令牌或将它们转换为更持久的令牌?或者至少有一个到期日,所以我知道何时告诉用户回来重新认证?

oauth-2.0 instagram

1
推荐指数
1
解决办法
5026
查看次数