【问题标题】:Reading RapidAPI PNG response using fetch method使用 fetch 方法读取 RapidAPI PNG 响应
【发布时间】:2020-07-21 05:49:42
【问题描述】:

你好

我正在努力从 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();
})

谢谢大家。

【问题讨论】:

    标签: javascript node.js api fetch response


    【解决方案1】:

    根据文档,如果您要将 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
    })
    ``
    

    【讨论】:

    • 谢谢。所以我应该为它添加一个compress: false 以使其泄气?但是这之后该怎么办?我正在获得带有可读对象的响应like this,我应该使用Body.Body 属性吗?我有点迷失方向,因为它不是 JSON 响应。 ^^
    猜你喜欢
    • 2020-02-05
    • 1970-01-01
    • 2017-09-06
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 2020-02-01
    相关资源
    最近更新 更多