javascript - 使用 fetch 方法读取 RapidAPI PNG 响应
问题描述
你好
我正在努力从 API 取回图像,并且一直在尝试如何正确读取响应并取回 PNG。我在NODE.JS环境中的 repl.it 上执行此操作。
我得到了这个(这是听者,如果需要,我将完全上传回复):
代码就是这样,我一直在尝试解码 gzip 编码的 PNG 或读取它,但我找不到这样做的方法。
怎么做才能使这个 blob 成为工作 .png 并打开它?
const fetch = require('node-fetch');
fetch("https://unitag-qr-code-generation.p.rapidapi.com/api?data=%7B%22TYPE%22%3A%22text%22%2C%22DATA%22%3A%7B%22TEXT%22%3A%22Hello%20World!%22%7D%7D&setting=%7B%22LAYOUT%22%3A%7B%22COLORBG%22%3A%22ffffff%22%2C%22GRADIENT_TYPE%22%3A%22NO_GR%22%2C%22COLOR1%22%3A%22000000%22%7D%2C%22EYES%22%3A%7B%22EYE_TYPE%22%3A%22Simple%22%7D%2C%22E%22%3A%22M%22%2C%22BODY_TYPE%22%3A0%7D", {
"method": "GET",
"headers": {
"x-rapidapi-host": "unitag-qr-code-generation.p.rapidapi.com",
"x-rapidapi-key": "my key"
}
})
.then(response => {
console.log(response.headers)
})
.then(response => {
return response.blob();
})
谢谢大家。
解决方案
根据文档,如果您要添加compress: true
到 fetch 选项。“支持 gzip/deflate 内容编码。false 禁用”
fetch('url', {
method: 'GET',
headers: {
'x-rapidapi-host': 'unitag-qr-code-generation.p.rapidapi.com',
'x-rapidapi-key': 'my key',
},
compress: true
})
``
推荐阅读
- python - 如何将多个 csv 文件中的列连接/连接到 1 个 DataFrame() 中?
- javascript - 嵌套 Accordian:子元素在父元素后面打开
- python - 列表追加 MemoryError
- diff - 在 Beyond Compare 中比较 Json 文件
- python - 依赖冲突,featexp 0.0.5 有需求 numpy==1.15.4,pydeck 0.3.0b2 有需求 numpy>=1.16.4
- sql - SELECT 和 JOIN 只为每个员工返回一行
- makefile - 有什么方法可以将makefile扩展为新的makefile
- php - 如何在使用动态字段 Laravel 的数据库中插入和删除记录?
- c++ - C++ 通过引用接收函数返回
- python - 根据 2 个条件对字符串列表进行排序