Python 如何从AWS Lambda提供GIF、JPEG和PNG
我正在使用AWS lambda创建一个函数,为小部件提供JS代码。 我还想提供一些图片。 到目前为止,我能够通过将数据转换为二进制数据来为SVG服务,但不知何故,它不适用于GIF、JPEG或PNG 我正在使用用于python的Flask框架。 下面是代码片段Python 如何从AWS Lambda提供GIF、JPEG和PNG,python,flask,aws-lambda,Python,Flask,Aws Lambda,我正在使用AWS lambda创建一个函数,为小部件提供JS代码。 我还想提供一些图片。 到目前为止,我能够通过将数据转换为二进制数据来为SVG服务,但不知何故,它不适用于GIF、JPEG或PNG 我正在使用用于python的Flask框架。 下面是代码片段 def img(filename): ext = filename.split('.') if(len(ext) >= 2): ext = ext[1] else: ext =
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'})
正如Daniel所建议的,在这种情况下,使用公共s3存储桶为文件提供服务是可行的,而且比我编写代码的方式简单得多。为什么不将二进制资产存储在s3中并从那里提供服务呢?这很有效。我希望除了部署sls代码之外,什么都不做。