来自流的 mailgun 附件。如何应用文件名

mailgun attachment from stream. How to apply filename

我正在使用节点 html-pdf 创建一个 PDF(包装它因为我喜欢 promises)

 const createPDF = (html, options) => new Promise(((resolve, reject) => {
        pdf.create(html, options).toBuffer((err, buffer) => {
            if (err !== null) {
                reject(err);
            }
            else {
                resolve(buffer);
            }
        });
    }));

    const PDF = await createPDF(html, options);

PDF 是一个缓冲区 - 我可以将此 'as is' 附加到 mailgun,它会毫无问题地发送文件。

在节点 mailgun-js 中,我传递了以下内容:

 const data = {
        from,
        to,
        subject,
        text,
        attachment: PDF
    };

我查看了所有文档 - 但看不到在哪里可以为附件添加文件名。收到的附件默认为 "file"... 没有 PDF 扩展名。我找到了一个 PHP 示例,其中添加了文件名...我尝试了相同的参数,但它不适用于节点库。

是否可以添加文件名?

谢谢

好的...所以您不会在 mailguns 网站上找到这个...这不在他们的文档或示例中。我偶然发现了他们图书馆的 npm 文档(我应该先去那里)。为了将文件名附加到流中,您必须使用以下内容创建 mailgun.attachment 对象:

const attch = new mailgun.Attachment({data: file, filename: filename});

file 可以是流、文件路径或缓冲区。文件名是你想给它起的名字...

然后你附加这个对象..

https://www.npmjs.com/package/mailgun-js