Я хочу сохранить сгенерированный файл pdfmake на сервере.
Я пробовал другое решение, но буфер или base64 всегда возвращают пустую строку.Я могу создать файл, но он пуст.
Но я могу создать файл pdfmake и скачать его, и он идеален.
<script type='text/javascript'>
window.onload = function getscreenshot() {
html2canvas(document.getElementById('container'), {
onrendered: function (canvas) {
var data = canvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download('Bekraeftelse' + ".pdf");
var data2;
var pdfDocGenerator = pdfMake.createPdf(docDefinition).ba;
pdfDocGenerator.getBuffer((buffer) => {
data2 = buffer;
});
$.ajax({
url: 'Invoice.aspx?pdfinput=1',
type: 'post',
async: false,
contentType: 'application/json; charset=utf-8',
data: data2,
dataType: 'json'
});
}
});
}
</script>
var pdfinput = Request.QueryString["pdfinput"];
if (pdfinput != null)
{
var jsonString = string.Empty;
HttpContext.Current.Request.InputStream.Position = 0;
using (var inputStream = new StreamReader(Request.InputStream))
{
jsonString = inputStream.ReadToEnd();
}
var byteArray = Convert.FromBase64String(jsonString);
//Get your desired path for saving file
File.WriteAllBytes(Server.MapPath("/PDF/Ordre/" + "Test1.pdf"), byteArray);
}
Как я уже писал, я исключаю строку возврата излибо буфер, либо строка.