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-k ๊ณตํ—Œํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@danielflippance๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

์ •๋ณด์— ๋Œ€ํ•ด์„œ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์ด ์‚ฌ์šฉ ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๊นŒ? IE: ์ด์ œ base64 ๋ฌธ์ž์—ด๊ณผ ๋™์ผํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฒ„ํผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด PDF๊ฐ€ ์ƒ๋‹นํžˆ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” ์ ์ ˆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. base64๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ์ „์— ๋ฒ„ํผ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2๋ฐฐ์— ๊ฐ€๊น์ง€ ์•Š์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค. Base64์˜ 4๊ฐœ๋งˆ๋‹ค 3๋ฐ”์ดํŠธ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ์ด๋Š” 25% ๊ฐ์†Œ์ด์ง€๋งŒ ์–ด๋ ˆ์ด์— ์•ฝ๊ฐ„์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ๋ง‰ํ˜€์„œ base64๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ #219๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  https://github.com/form-data/form-data (์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์š”์ฒญ์„ ํ†ตํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ)๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. base64 ๋””์ฝ”๋”ฉ์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฑฐ๋‚˜ form.append์—์„œ ์–‘์‹ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ ์ธ์ฝ”๋”ฉ๋˜์–ด ์žˆ์Œ์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰