如何从AWS Lambda提供GIF,JPEG和PNG

时间:2019-03-18 12:27:05

标签: python flask aws-lambda

我正在使用AWS lambda创建一个为小部件提供JS代码的函数。 我也想提供一些图像。 到现在为止,我已经能够通过将SVG转换为二进制数据来为其服务,但不知何故它不适用于GIF,JPEG或PNG

我正在将Flask框架用于python。 下面是代码片段

def img(filename):
    ext = filename.split('.')
    if(len(ext) >= 2):
        ext = ext[1]
    else:
        ext = ''
    if(ext == 'svg'):
        mime = 'image/svg+xml'
    elif(ext == 'gif'):
        mime = 'image/gif'
    else:
        mime = 'image/'+ext

    filename = 'src/img/'+filename

    if(os.path.isfile(filename)):
        with open(filename, 'rb') as bites:
            return send_file(io.BytesIO(bites.read()), mimetype=mime)
    else:
        return res({'error': True, 'msg': 'File not found'})

1 个答案:

答案 0 :(得分:0)

根据丹尼尔(Daniel)的建议,在这种情况下,使用公共s3存储桶为文件提供服务比使用我的方式编写代码要容易得多。