Я знаю, что есть пакет под названием dart: convert, который позволяет мне декодировать изображение base64. Но, видимо, он не работает с файлами PDF. Как я могу декодировать файл base64 PDF в Flutter.
Я хочу сохранить его в Firebase Storage (я знаю, как это сделать), но мне нужна переменная File, чтобы сделать это.
У меня есть веб-сервис, написанный на узле js, где у меня есть POST-маршрут. Там я создаю pdf-файл и кодирую его в base 64. Ответ представляет собой строку base64, посмотрите на код.
router.post('/pdf', (req, res, next) => {
//res.send('PDF');
const fname = req.body.fname;
const lname = req.body.lname;
var documentDefinition = {
content: [ write your pdf with pdfMake.org ],
styles: { write your style };
const pdfDoc = pdfMake.createPdf(documentDefinition);
pdfDoc.getBase64((data) => {
res.send({ "base64": data });
});
});
Как видите, он возвращает pdf в виде строки base64.
Теперь, во Флаттере, я написал это:
http.post("https://mypostaddreess.com",body: json.encode({"data1":"data"}))
.then((response) {
print("Response status: ${response.statusCode}");
print("Response body: ${response.body}");
var data = json.decode(response.body);
var pdf = base64.decode(data["base64"]);
});
}
Как видите, у меня есть PDF в переменной 'pdf'. Но я не знаю, как расшифровать его, чтобы загрузить PDF или показать в моем приложении Flutter.