在 node.js html-pdf npm 模块中更改 toStream() 的文件名

Change file name of toStream() in node.js html-pdf npm module

我正在尝试更改 npm 模块 html-pdf 生成的 pdf 的文件名。

问题是我不想 保存 pdf 的副本,只是将其流式传输到电子邮件服务 (mailgun),然后将其发送出去。我一切正常,但当我收到电子邮件时,该文件有一个我想更改的默认名称。有没有人有尝试这样做的经验?

谢谢

var pdf = require('html-pdf');
var Mailgun = require('mailgun-js');

pdf.create(result).toStream(function(err, stream) {
    var self = this;
    if (err) return console.log(err);

    //set mailgun parameters
     var mail_data = {
        from: 'emailtosendto@email.com',
        to: 'sendingemail@email.com',
        subject: 'subject line',
        html: result,
        attachment: stream
    }
    //send email
    mailgun.messages().send(mail_data, function (err, body) {
        if (err) {
            res.render('error', { error : err});
            console.log("got an error: ", err);
        }
        else {
            console.log(body);
            res.send('ok');
        }
    });

});
var pdf = require('html-pdf');
var Mailgun = require('mailgun-js');

pdf.create(result).toBuffer(function(err, buffer) {
    var self = this;
    if (err) return console.log(err);

    var attch = new mailgun.Attachment({data: buffer, filename: 'myattach.pdf'});

    //set mailgun parameters
     var mail_data = {
        from: 'emailtosendto@email.com',
        to: 'sendingemail@email.com',
        subject: 'subject line',
        html: result,
        attachment: attch
    }
    //send email
    mailgun.messages().send(mail_data, function (err, body) {
        if (err) {
            res.render('error', { error : err});
            console.log("got an error: ", err);
        }
        else {
            console.log(body);
            res.send('ok');
        }
    });

});

来自https://github.com/bojand/mailgun-js#attachments