Sendgrid-nodejs: Base64 PDF مشفر كمرفق

تم إنشاؤها على ١٥ أبريل ٢٠١٦  ·  4تعليقات  ·  مصدر: sendgrid/sendgrid-nodejs

لديّ ملف PDF base64 مشفر وأريد إرفاقه برسالة بريد إلكتروني. عندما أرفقه بالرمز التالي ، فإن البريد الإلكتروني المرسل يحتوي على ملف PDF تالف:

email.addFile({
    filename: 'my-file.pdf',
    content: aBase64EncodedPDF,
    contentType: 'application/pdf',
}); 

التعليق الأكثر فائدة

ستكون قد أضفت سلسلة base64 كمرفق مع الكود أعلاه ، مما يعني أنك ستحتاج إلى حفظ المرفق وفك تشفيره في الطرف الآخر. أعتقد أنك ربما أردت حقًا القيام بذلك:

email.addFile({
    filename: 'my-file.pdf',
    content: new Buffer(aBase64EncodedPDF, 'base64'),
    contentType: 'application/pdf',
}); 

ال 4 كومينتر

ستكون قد أضفت سلسلة base64 كمرفق مع الكود أعلاه ، مما يعني أنك ستحتاج إلى حفظ المرفق وفك تشفيره في الطرف الآخر. أعتقد أنك ربما أردت حقًا القيام بذلك:

email.addFile({
    filename: 'my-file.pdf',
    content: new Buffer(aBase64EncodedPDF, 'base64'),
    contentType: 'application/pdf',
}); 

@ deaks-kt شكرا لمساهمتك!

danielflippance هل

شكرا للمعلومة. هل يضاعف هذا الحل مقدار الذاكرة المستخدمة؟ IE: لدي الآن سلسلة base64 ومخزن مؤقت يحتوي على نفس المعلومات. إذا كان الأمر كذلك ، فسيؤدي ذلك إلى زيادة استخدام الذاكرة على خوادمنا بشكل كبير نظرًا لأن ملفات PDF كبيرة جدًا ، لذا لن يكون مناسبًا في حالتنا. سأبحث فيما إذا كان بإمكاننا استرداد المخزن المؤقت قبل التقديم إلى base64.

أظن أنه سيكون قريبًا من الضعف. تحصل على 3 بايت لكل 4 من Base64 ، وهو ما يمثل تخفيض بنسبة 25٪ ، لكنني أتوقع أن يكون هناك بعض النفقات الإضافية للصفيف. إذا كنت عالقًا حقًا ويجب عليك استخدام base64 ، فأنا أوصي بالتحقيق في طلب السحب # 219 والنظر إلى https://github.com/form-data/form-data (وهو ما تستخدمه هذه المكتبة عبر الطلب) لمعرفة ما إذا كان يمكنك دفق فك تشفير base64 أو حتى تحديد أن بيانات النموذج مشفرة بالفعل أثناء النموذج.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات