Javascript 节点模块&x2B;PDF助手--我做错了什么?
在生成PDF的节点模块中,我有以下帮助程序代码。它使用pdfcrowdapi和RestlerJavascript 节点模块&x2B;PDF助手--我做错了什么?,javascript,node.js,express,Javascript,Node.js,Express,在生成PDF的节点模块中,我有以下帮助程序代码。它使用pdfcrowdapi和Restler var rest = require( "restler" ); var create = function() { this.pdfConfig = { // data object for generating the pdf }; this.getRaw = function( cb ) { this.fetch(function( e
var rest = require( "restler" );
var create = function() {
this.pdfConfig = {
// data object for generating the pdf
};
this.getRaw = function( cb ) {
this.fetch(function( err, result ) {
if ( err ) return cb( err );
cb( null, new Buffer( result.raw ).toString( "base64" ));
});
};
this.fetch = function( cb ) {
rest.post( "https://pdfcrowd.com/api/pdf/convert/html/", { data: this.pdfConfig })
.on("success", function( err, result ) {
if ( err ) return cb( err );
cb( null, result );
});
};
};
module.exports.create = create;
我使用此助手将PDF作为电子邮件附件发送出去
var Pdf = require( "/helpers/pdf" ),
function sendPdfEmail() {
var pdf = new Pdf.create();
pdf.pdfConfig = { ... }
pdf.getRaw(function( err, pdfData ) {
sendEmail( from, to, subject, body, pdfData );
});
}
问题是,我了解到在比赛条件下,很多人都在调用sendPdfEmail(),我可能会得到其他人的PDF。也就是说,发送了正确的电子邮件,但附件中的数据可能属于其他人
你知道我做错了什么吗
编辑:根据要求,以下是有关sendEmail的更多详细信息。
sendEmail是我的另一个助手。它是节点邮戳模块的包装器
var sendEmail = function( from, to, subject, body, attachment, cb ) {
var postmark = require( "postmark" )( api_key );
postmark.send({
"From": from,
"To": to,
"Subject": subject,
"HtmlBody": body,
"Attachments": attachment ? [{
"Content": attachment,
"Name": "stuff.pdf",
"ContentType": "application/pdf"
}] : null
}, function( err, success ) {
if ( typeof cb === "function" ) cb();
postmark = null;
});
};
你能详细说明一下那些比赛条件吗?这个代码到底是如何使用的?@raina-我已经编辑了postOk,也许只是我,但我看这里没有什么错。关于
sendmail
,这个函数是如何定义的?另外,你能告诉我pdfConfig
是如何填写的吗?我再次更新了这个问题,谢谢,这肯定是本地化的。如何pdfConfig
创建?