【问题标题】:Twilio get fax as PDF, attach it in MailGun and get it with request.js - Not getting the right file nameTwilio 以 PDF 格式获取传真,将其附加到 MailGun 中并使用 request.js 获取 - 未获取正确的文件名
【发布时间】:2018-10-21 01:00:18
【问题描述】:

我正在尝试将传真发送到 Twilo 并通过电子邮件附件发送。 我在我的 node.js 应用程序中使用 request.js。 我收到了电子邮件和附件,但没有正确的文件名(没有扩展名)。如果我在浏览器中通过 req.body.MediaUrl - 我会得到具有有效文件名的正确文件。 在通过 decodeURIComponent(url) 请求它之前,我尝试对 url 进行编码,但他发送给我的我并不知情。可能是因为token编码的原因。

我有这个代码:

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 中它不起作用。我做错了什么??

【问题讨论】:

    标签: node.js twilio mailgun fax


    【解决方案1】:

    使用 twilio 和 mailGun 支持一段时间后,在这种情况下,我必须将文件流式传输到我的服务器并从那里发送。我必须说,如果没有它,它当然可以工作。代码应该是这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多