Sendgrid-nodejs: Base64でエンコードされたPDFを添付ファイルとして

作成日 2016年04月15日  ·  4コメント  ·  ソース: sendgrid/sendgrid-nodejs

base64でエンコードされたPDFファイルがあり、それを電子メールに添付したいと思います。 次のコードを添付すると、送信された電子メールに破損した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はあなたの問題を解決しましたか?

情報をありがとう。 そのソリューションは、使用されているメモリの量を2倍にしますか? IE:base64文字列と同じ情報を含むバッファができました。 その場合、PDFが非常に大きいため、サーバーのメモリ使用量が大幅に増加するため、この場合は適切ではありません。 base64にレンダリングする前にバッファを取得できるかどうかを調べます。

2倍近くになると思います。 Base64の4つごとに3バイトを取得します。これは25%の削減ですが、アレイにはいくらかのオーバーヘッドがあると思います。 本当に行き詰まっていてbase64を使用する必要がある場合は、プルリクエスト#219を調査し、 https://github.com/form-data/form-data (このライブラリがリクエストを介して使用しているもの)を確認することをお勧めし

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Loriot-n picture Loriot-n  ·  4コメント

wooyah picture wooyah  ·  4コメント

agostonbonomi picture agostonbonomi  ·  3コメント

kiranshashiny picture kiranshashiny  ·  4コメント

amlcodes picture amlcodes  ·  4コメント