使用Flask从S3显示读取保护的图像?

时间:2017-07-18 13:14:45

标签: flask jinja2 boto3

我有一个烧瓶应用程序,它生成一个预先指定的URL,以便向用户显示私有图像。但由于某种原因,图像没有显示,只有它的替代文本(虽然我知道客户端已连接,并且正在为正确的图像生成URL)

这是我的Flask Code:

@app.route("/get_image", methods=['GET','POST'])
    name_cursor = db.query ##finds the name of the users image
    s3 = boto3.client('s3', aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'], aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'], region_name='us-east-1')
    url = s3.generate_presigned_url(ClientMethod='get_object',
                            Params={
                                'Bucket': os.environ['S3_BUCKET'],
                                'Key': name_cursor['img'],
                            },                                  
                            ExpiresIn=3600)

    render_template("test.html",url=url)

然后在模板中:

<div class="avatar">
     <img src="{{ url }}" alt="Thumbnail Image">
</div>

对可能导致此问题的任何见解?

0 个答案:

没有答案