如何使用 node-fetch 通过 discord webhook 发送图像?

Posted

技术标签:

【中文标题】如何使用 node-fetch 通过 discord webhook 发送图像?【英文标题】:How do I send an image via discord webhook using node-fetch? 【发布时间】:2021-10-21 03:22:31 【问题描述】:
const fetch = require('node-fetch');
const fs = require('fs')
var data = fs.createReadStream('2.png')
const fileSizeInBytes = data.size;
var URL = "apikey";
fetch(URL, 
     "method":"POST",
     "headers": 
         "Content-length": fileSizeInBytes,
         'Content-Type': 'multipart/form-data',
         'Content-Disposition': 'form-data; name="2"; filename="2.png"'
         ,
     "body": JSON.stringify(
        "file":data
      )
    )
    .then(res=> console.log(res))
    .catch(err => console.error(err));

如何通过 discord webhook 发送图像?我已经尝试了上述方法,但它不起作用。并且在不和谐的文档上没有合适的例子。

【问题讨论】:

【参考方案1】:
const fetch = require('node-fetch');
const formData = require('form-data');
const fs = require('fs')

const form = new formData();
form.append('file1', fs.createReadStream('./2.png')); // give absolute path if possible

var URL = "XYZ URL";

fetch(URL, 
    'method': 'POST',
    'body': form,
    headers: form.getHeaders()
)
.then(res=> console.log(res))
.catch(err => console.error(err));

【讨论】:

以上是关于如何使用 node-fetch 通过 discord webhook 发送图像?的主要内容,如果未能解决你的问题,请参考以下文章

通过 Node-Fetch 检索 OAuth2 令牌

如何配置 node-fetch 以使用公司代理?

如何使用 node-fetch 查看发送的标头?

从画布正确获取信息并通过带有 node-fetch 的 webhook 将信息发送到 discord 时出现问题

使用 node-fetch 从 api 嵌入 DnD 咒语

如何将 *any* cURL 或 node-fetch 请求转换为 Axios 请求?