Собственно вопрос, имеется сгенерированный pdf на фронте, на фронте же я его перегоняю в base64 и отправляю на express сервер, как я могу сконвертировать base64 в File чтобы в последствии отправлять его на почту?
---
Пока что только в бинарник перевел и чет вобще хз что дальше делать.
В каком месте конвертировать нужно? Если на фронте, то как ты собрался с фронта на почту отпралвлять. Если на беке, то при чем тут яваскрипт?
Вдумчиво ТЗ поставь.
Сделать из base 64 ссылку на скачивание можно вот так
Владимир, Судя по всему создает пдф и кодирует его в бейс64 он на фронте, а потом уже отправляет на бек. И ява скрипт у него и на фронте и на беке, потому что бек у него нод.жс. Только непонятно одно, нахрена тут бейс64
base64 можно записать файл, или раскодировать и записать в файл. Нужно правильно составить вопрос, возможно его после этого не надо будет даже задавать кому-то.
Aetae, Чувак, ааа у меня тут проблема, если с pdf все ок, то с изображениями труба полная, решил посмотреть твой коммент и генерю сейчас блоб на клиенте, а в nodemailer теперь не совсем понимаю, как его отправить, из того, что nodemailer предлагает:
let message = {
...
attachments: [
{ // utf-8 string as an attachment
filename: 'text1.txt',
content: 'hello world!'
},
{ // binary buffer as an attachment
filename: 'text2.txt',
content: new Buffer('hello world!','utf-8')
},
{ // file on disk as an attachment
filename: 'text3.txt',
path: '/path/to/file.txt' // stream this file
},
{ // filename and content type is derived from path
path: '/path/to/file.txt'
},
{ // stream as an attachment
filename: 'text4.txt',
content: fs.createReadStream('file.txt')
},
{ // define custom content type for the attachment
filename: 'text.bin',
content: 'hello world!',
contentType: 'text/plain'
},
{ // use URL as an attachment
filename: 'license.txt',
path: 'https://raw.github.com/nodemailer/nodemailer/master/LICENSE'
},
{ // encoded string as an attachment
filename: 'text1.txt',
content: 'aGVsbG8gd29ybGQh',
encoding: 'base64'
},
{ // data uri as an attachment
path: 'data:text/plain;base64,aGVsbG8gd29ybGQ='
},
{
// use pregenerated MIME node
raw: 'Content-Type: text/plain\r\n' +
'Content-Disposition: attachment;\r\n' +
'\r\n' +
'Hello world!'
}
]
}
Пробовал в Buffer передавать блоб, дохлый номер, подскажешь что можно сделать?
Собсна решение для тех, кто выбрал express-mailer для отправки почты с ноды, юзайте nodemailer, он из коробки умеет base64 отправлять как файл, но есть нюанс, меняет ориентацию pdf на альбомную https://nodemailer.com/message/attachments/