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

Flask 使用烧瓶显示从S3读取的受保护图像?,flask,jinja2,boto3,Flask,Jinja2,Boto3,我有一个flask应用程序,它生成一个预先签名的url,以便向用户显示私有图像。但是由于某些原因,图像没有显示,只是显示了它的替代文本(尽管我知道客户端已连接,并且正在为正确的图像生成URL) 这是我的烧瓶代码: @app.route("/get_image", methods=['GET','POST']) name_cursor = db.query ##finds the name of the users image s3 = boto3.client('s3', aws

我有一个flask应用程序,它生成一个预先签名的url,以便向用户显示私有图像。但是由于某些原因,图像没有显示,只是显示了它的替代文本(尽管我知道客户端已连接,并且正在为正确的图像生成URL)

这是我的烧瓶代码:

@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>


您是否了解导致这种情况的原因?

您是否通过更改区域名称进行了检查?是的,但没有解决问题。bucket位于该区域。您是否通过更改区域名称进行了检查?是的,但它没有修复它。铲斗位于该区域。