Twilio получает факс в формате PDF, прикрепляет его в MailGun и получает с request.js - не получает правильное имя файла - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь получить факс, отправленный в Twilo, и отправить его по электронной почте.Я использую request.js в моем приложении node.js.Я получаю электронное письмо и вложение, но без правильного имени файла (не существует).Если я пропущу req.body.MediaUrl в браузере, я получу правильный файл с правильным именем файла.Я пытался закодировать URL-адрес, прежде чем запрашивать его с помощью decodeURIComponent (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 его не работает.Что я сделал не так ??

1 Ответ

0 голосов
/ 20 октября 2018

Через некоторое время с поддержкой twilio и mailGun, в этом случае я должен передать файл на свой сервер и отправить его оттуда.Надо сказать, что это нормально работало без этого.код должен выглядеть следующим образом:

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