Я сохранил вывод json canvas в базе данных. У меня есть холст с видом спереди и сзади. Когда пользователь отправляет форму, используя приведенный ниже код, я могу сохранить JSON в базе данных.
$('#save_canvas').click(function(e){
e.preventDefault();
var front_side_json = JSON.stringify( canvas1.toJSON() );
var back_side_json = JSON.stringify( canvas2.toJSON() );
$('#front_side_object').val(front_side_json);
$('#back_side_object').val(back_side_json);
$('#card_template_form').submit();
});
Теперь проблема в том, что я хочу создать изображение SVG и PNG, используя этот JSON. Я не уверен, как это сделать на стороне сервера.
Я могу сгенерировать его на стороне клиента, используя следующий код:
$('#download_svg').click(function(e){
try {
var isFileSaverSupported = !!new Blob;
var file_data = canvas.toSVG();
var blob = new Blob([file_data], {type: 'image/svg+xml;charset=utf-8'});
saveAs(blob, 'canvas.svg');
} catch (e) {
alert(e.message);
}
});
function downloadURI(uri, name) {
var link = document.createElement('a');
link.download = name;
link.href = uri;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
delete link;
}
/* Download the PNG image */
$('#download_png').click(function(e){
try {
var isFileSaverSupported = !!new Blob;
var file_data = canvas.toDataURL('png');
downloadURI(file_data, 'canvas.png');
} catch (e) {
alert(e.message);
}
});
Причина сделать это на стороне сервера: у меня есть предопределенный шаблон карты. когда пользователь обновляет информацию, карта должна обновляться соответствующим образом. Для того json, который я сохранил при создании «предопределенного шаблона карты», содержатся определенные слова, которые я заменю и сгенерирую новую карту.
Пример: если json conatains {first_name}, я заменяю его на «DS9» и т. д.
Вот почему я пытаюсь сделать это на стороне сервера. Но я не могу этого сделать.
Задача ещё не решена.
Других решений пока нет …