Twilio 获取 PDF 格式的传真,将其附加到 MailGun 中,并根据请求获取.js - 未获得正确的文件名



我正在等待将传真发送到Twilo并通过电子邮件附件发送。 我在我的节点.js应用程序中使用请求.js。 我收到了电子邮件和附件,但没有正确的文件名(没有说明(。如果我在浏览器中通过 req.body.MediaUrl - 我会得到带有有效文件名的正确文件。 在通过解码URIComponent(url(请求之前,我尝试对网址进行编码,但是他发送给我的我没有被认证。可能是编码到的令牌。

我有这个代码:

app.post('/fax/received', (req, res) => {
var request = require('request');
var file = request(req.body.MediaUrl);
var mailgun = require("mailgun-js");
var api_key = 'mykey';
var DOMAIN = 'mydomain.com';
var mailgun = require('mailgun-js')({ apiKey: api_key, domain: DOMAIN });
var reqp = JSON.stringify(req.body)
var data = {
from: "from@gmail.com",
to: 'to@gmail.com',
subject: 'Fax recived',
text: 'things',
attachment: file  //new mailgun.Attachment({ data: file, filename: 'fff.pdf', contentType: 'application/pdf' }) - this not working at all
};
mailgun.messages().send(data, function (error, body) {
console.log(body)
});
res.status(200); /for twilio
res.send();
});

MediaUrl看起来像这样:

https://media.twiliocdn.com/fax/AC38a6d46d19135679fa6db8c77a0a99aa/1d1aca46e24da8eae4b91efce2316ec28a65bb442a7b035c6b2f43459384fe07?x-amz-security-token=FQoGZXIvYXdzECIaDEOnbXTbs8YNqXm30CK3AxbT6vwjfpKYVclV%2FJgriygBa3U27k1ROJGmP9Z%2BjcU97DbHtjGMtiL2PSZvEHJRQ4Fy%2Bk1PRaC7Cl2W9J%2BgnHnW963bLale4zZASs6BJc17qXK8oGO4lBk3NrH%2B2dNxRrditXRWwyLCC3Pr6aQHKcb30Yn11K%2BuAyvojICarVSY0FjMFTD06drALYb8VNReOh5UkZt0LLnxBzcdz1%2FmjaHNTvgrZ8fAhlXa%2Fp86TUTVRfHRJ7UNnloPXNfdzEAVwAUk4%2FuI9gF9%2BFFovnagHa59uBe3sTJA83JEut6nIJZ5wl9vBYMDWPmMggpDSBDZ%2BEgJOS17bCC17a3gHIiPA5lFmVq%2BT19016ligzgNmvPTJAFnw7s4a9cwoDPt6uaFeZ82ArV6l3Y1s0DRp4oa%2Bju%2FPWOpjhJoykiSGKk20JPCYeDYsjbS2KFuDwbVqLgqvzDCPDDov5SXfmRztpUxl8%2FhdEYqxskqvss4Fu8DrLZpSYKq3taypB4aXE6agf3bPSfnI2o7LjC9Zda21H2Z9Up1aATO4Efj1aZ99kg43wZ2ot4cOqYzCjN5L7t50G4fk2g0lbobmEUoupqR3gU%3D&AWSAccessKeyId=ASIAS5VS5DJACXIZURAX&Expires=1539602784&Signature=kj0fU7fBovPESmcQHhwrtI%2F6r80%3D

我必须说它适用于任何其他 pdf 文件,但只是在 twilio 中它不起作用。我做错了什么??

在使用 twilio 和 mailGun suppurt 一段时间后,在这种情况下,我必须将文件流式传输到我的服务器并从那里发送。我必须说,没有那个,它就工作了。代码应如下所示:

var file = request(req.body.MediaUrl).
pipe(fs.createWriteStream('file.pdf'))
.on('finish', function () { //here to sent the mail with the file
}

相关内容

  • 没有找到相关文章

最新更新