我知道关于这个主题有几个类似的问题,但我还没有找到我的确切问题。如果有,请原谅我,请给我链接:-)
我有一个由API网关触发的lambda函数,并返回一个base64编码的image / tiff文件字符串。
我编辑了API网关配置,以便将字符串转换回二进制数据。
如果我直接使用AWS功能测试所有这些,则会正确显示二进制图像代码(.tiff文件)。
但是,如果我通过Postman测试它,下载的文件仍然包含base64编码的字符串,需要进行解码。因此,我不能直接从API下载文件,但是必须在客户端进行一些转换,对吧?
我也包括了我的Accept
标题:image/tiff
我的python lambda后端返回看起来像这样:return base64.b64encode(binary_data).decode('ascii')
为什么它会在AWS控制台上转换为二进制数据,而不是通过Postman(或curl)转换为二进制数据?我有点迷茫。这里是集成响应的设置:
最后,我想通过无服务器设置所有这些,但我已经很高兴通过Web前端让它工作并稍后迁移到无服务器。
在此先感谢您的帮助。
这不是问题的直接答案,而是更多的解决方法:
我们通过生成预先指定的URL并从那里显示二进制数据来解决这个问题。这就像一个魅力。