从远程URL加载pdf以作为Mandrill附件发送

时间:2014-09-22 12:19:42

标签: javascript pdf parse-platform mandrill

我正在尝试在Cloud Code中加载Pdf并将其作为附件发送给mandrill。

由于mandrill需要base64编码的字符串作为附件,我使用Buffer来改变编码。

现在的结果是一个无法打开的Pdf附件,我认为错误是由我的重新编码引起的。

我猜测get请求返回的文本是utf8,但我不确定。

有什么建议吗?

var Buffer = require(' buffer')。缓冲区;

function loadPdf(pdfUrl) {
  var promise = new Parse.Promise();

  Parse.Cloud.httpRequest({
    method: 'GET',
    url: pdfUrl,
    success: function (httpResponse) {
      // Put text into buffer
      var buf = new Buffer('httpResponse.text', 'utf8');
      // encode text with base64
      promise.resolve(buf.toString('base64'));
    },
    error: function (httpResponse) {
      console.error(httpResponse);
      console.error("Token Request failed with response code " + httpResponse.status);
    }
  });
  return promise;
}

将此功能的结果放入

"attachments": [
    {
        "type": "application/pdf",
        "name": "test.pdf",
        "content": encodePdfText
    }

1 个答案:

答案 0 :(得分:0)

我最近遇到了同样的问题,请尝试以下代码,确保httpResponse.text在utf8中...

"content": new Buffer(httpResponse.text.toString('base64')).toString()