繁体   English   中英

将图像从 discord.js 机器人上传到我的网站

[英]Uploading image from discord.js bot to my website

我想使用 message.attachments 从中获取图像并将其上传到我的网站(不在本地主机上)。 我该怎么做?

我的网站上已经有一个有效的上传表单,但是我将如何从 discord.js 机器人执行此操作?

根据discord.js 文档,每个附件都有一个 URL 属性。 您可以使用它来获取图像并上传。

示例代码:

const URLsToFetch = [];
const attachments = message.attachments.array();
for(let i = 0;i<attachments.length;++i){
  URLsToFetch.push(attachments[i].url);
}

这将获取所有附件 URL,您可以使用httprequest或其他类似模块下载它,然后将其写入您上传的任何位置:

const http = require("http");
const https = require("https");
const {URL} = require("url");
const fs = require("fs");
for(let url of URLsToFetch){
  const uri = new URL(url);
  const protocol = uri.protocol;
  let proto = http;
  if(protocol === "https:"){
    proto = https;
  }
  proto.get(uri,response=>{
    const chunks = [];
    response.on("data",chunk={
      chunks.push(chunk);
    });
    response.on("end",()=>{
      const file = Buffer.concat(chunks);
      fs.writeFile("path/to/filename",file,err=>{
        if(err){throw err} // error
        // successfully wrote file
      });
    });
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM