通过谷歌云功能的二进制响应



我想通过谷歌云函数响应二进制(图像(。

我试图解决如下问题:

// .ts
import {Request, Response} from "express";
export function gif(req: Request, res: Response) {
res.contentType("image/gif");
res.send(new Buffer("[Here is image data encoded by base64]", "base64"));
}

然而,其功能的响应如下:

{"type":"Buffer","data":[71,73,...]} // not binary but JSON

此代码与express配合使用很好,但与Cloud函数不配合使用。这是个虫子吗?或者还有别的办法吗?

我通过评论解决了这个问题。我将在这里总结结果。

成功的最终代码:

import {Request, Response} from "express";
export function track(req: Request, res: Response) {
const data = new Buffer("[Here is image data encoded by base64]", "base64");
res.writeHead(200, {"Content-Type": "image/gif"});
res.write(data.toString("binary"), "binary");
res.end();
}

我的目的是创建一个独立于JavaScript的跟踪功能,响应图像体积小,没有意义。

最新更新