Javascript 如何显示图像并嵌入成绩单文件?

Javascript 如何显示图像并嵌入成绩单文件?,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我正在制作一个ticket机器人,用户创建一个ticket,然后获得他们需要的支持,然后在管理员或同一用户关闭ticket后,一个成绩单将被保存并发送到同一个通道中,我已经这样做了,但我唯一努力的是在成绩单日志中显示嵌入和图像。现在看起来像这样(复制粘贴以查看): file:///G:/BotTickets/Akeoe%20792817221239832627.html 我想这张图片可能会帮助你了解更多,所有的机器人(ASOG)信息都是嵌入的,而且图片看起来也是这样 如何保存和显示的代码: le

我正在制作一个ticket机器人,用户创建一个ticket,然后获得他们需要的支持,然后在管理员或同一用户关闭ticket后,一个成绩单将被保存并发送到同一个通道中,我已经这样做了,但我唯一努力的是在成绩单日志中显示嵌入和图像。现在看起来像这样(复制粘贴以查看):

file:///G:/BotTickets/Akeoe%20792817221239832627.html

我想这张图片可能会帮助你了解更多,所有的机器人(ASOG)信息都是嵌入的,而且图片看起来也是这样

如何保存和显示的代码:

let messageCollection = new Discord.Collection();
let channelMessages = await channel.messages.fetch({
    limit: 100
}).catch(err => console.log(err));
                                        
messageCollection = messageCollection.concat(channelMessages);
                                        
while(channelMessages.size === 100) 
{
    let lastMessageId = channelMessages.lastKey();
    channelMessages = await channel.messages.fetch()({ limit: 100, before: lastMessageId }).catch(err => console.log(err));
    if(channelMessages)
        messageCollection = messageCollection.concat(channelMessages);
}

let msgs = messageCollection.array().reverse();
let data = await fs.readFile('./commands/template.html', 'utf8').catch(err => console.log(err));
if(data) 
{
    await fs.writeFile(`G:\BotTickets/${ticketUserusername + ` ` + channel.id}.html`, data).catch(err => console.log(err));
    let guildElement = document.createElement('div');
    let guildText = document.createTextNode(message.guild.name);
    let guildImg = document.createElement('img');
    guildImg.setAttribute('src', message.guild.iconURL());
    guildImg.setAttribute('width', '150');
    guildElement.appendChild(guildImg);
    guildElement.appendChild(guildText);
    console.log(guildElement.outerHTML);
    await fs.appendFile(`G:\BotTickets/${ticketUserusername + ` ` + channel.id}.html`, 
    guildElement.outerHTML).catch(err => console.log(err));
                                        
    msgs.forEach(async msg => {
        let parentContainer = document.createElement("div");
        parentContainer.className = "parent-container";
                                        
        let avatarDiv = document.createElement("div");
        avatarDiv.className = "avatar-container";
        let img = document.createElement('img');
        img.setAttribute('src', msg.author.displayAvatarURL());
        img.className = "avatar";
        avatarDiv.appendChild(img);
                                        
        parentContainer.appendChild(avatarDiv);
                                        
        let messageContainer = document.createElement('div');
        messageContainer.className = "message-container";
                                        
        let nameElement = document.createElement("span");
        let name = document.createTextNode(msg.author.tag + " " + msg.createdAt.toDateString() + " " + 
        msg.createdAt.toLocaleTimeString() + " EST");
        nameElement.appendChild(name);
        messageContainer.append(nameElement);
                                        
        if(msg.content.startsWith("```")) 
        {
            let m = msg.content.replace(/```/g, "");
            let codeNode = document.createElement("code");
            let textNode =  document.createTextNode(m);
            codeNode.appendChild(textNode);
            messageContainer.appendChild(codeNode);
        }
        else 
        {
            let msgNode = document.createElement('span');
            let textNode = document.createTextNode(msg.content);
            msgNode.append(textNode);
            messageContainer.appendChild(msgNode);
        }
        parentContainer.appendChild(messageContainer);
        await fs.appendFile(`G:\BotTickets/${ticketUserusername + ` ` + channel.id}.html`, 
    parentContainer.outerHTML).catch(err => console.log(err));
                                                        
 });
}


您没有将映像作为base64发送,而是作为计算机上的本地路径发送。您没有将映像作为base64发送,而是作为计算机上的本地路径发送。