我正在尝试在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
}
答案 0 :(得分:0)
我最近遇到了同样的问题,请尝试以下代码,确保httpResponse.text在utf8中...
"content": new Buffer(httpResponse.text.toString('base64')).toString()