gpt4 book ai didi

node.js - AWS lambda 搞乱了我的编码

转载 作者:太空宇宙 更新时间:2023-11-03 23:06:37 25 4
gpt4 key购买 nike

我正在使用

https://clifff.com/2015/10/01/2015-failed-experiments-with-aws-lambda/+ https://www.twilio.com/blog/2015/09/build-your-own-ivr-with-aws-lambda-amazon-api-gateway-and-twilio.html

在 aws lambda 上创建图像大小调整服务...我解决了第一篇文章所遇到的内容类型问题,但编码似乎是一个死胡同...任何帮助将不胜感激!

ruby

Base64.decode64("R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")

-> 工作图像

GIF89a\u0001\u0000\u0001\u0000\x80\u0000\u0000\u0000\u0000\u0000\xFF\xFF\xFF!\xF9\u0004\u0001\u0000\u0000\u0000\u0000,\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0002\u0001D\u0000;

API 网关

$util.base64Decode("R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")

-> 损坏的图像

GIF89a\u0001\u0000\u0001\u0000�\u0000\u0000\u0000\u0000\u0000���!�\u0004\u0001\u0000\u0000\u0000\u0000,\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0002\u0001D\u0000;

最佳答案

好吧,这是一个非常旧的线程,但是由于问题仍然没有解决,并且对 API GW 的二进制支持的记录很糟糕,我认为有人可能会发现我发现有用的解决方法:

我相信,二进制数据会作为 UTF-8 字符串在 API GW 内部的某个地方传递。如果您只需要返回跟踪像素(而不是例如生成的图像)​​,那么您可以通过使用二进制数据中不存在有问题的字节的图像来避免困惑编码的问题。

例如,最短的跟踪像素(26 字节长的 GIF)中间有一个十六进制表示为 0xFF 的字节。这将破坏 API GW。但是,如果您在十六进制编辑器中编辑这张图片并将该字节替换为 0x00,您将得到仍然是有效图像的东西(甚至 Microsoft 浏览器也不会提示它),但仍然可以由 API GW 处理。

只需让您的“ body 映射”模板如下所示:

$util.base64Decode("R0lGODlhAQABAAAAACwAAAAAAQABAAACADs=")

关于node.js - AWS lambda 搞乱了我的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33205265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com