Я использую кинетическую js для создания холста, и он также сохраняет холст в файл изображения, используя этот ajax:
stage.toDataURL({
callback: function(dataUrl) {
var url = 'export.php';
$.ajax({
type: "POST",
url: url,
dataType: 'text',
data: {
base64data : dataUrl
}
});
Мне также нужно передать некоторые переменные формы в export.php — какой лучший способ сделать это?
Спасибо!
Zoe
Ваша JS часть верна:
function upload() {
stage.toDataURL({
callback: function (dataUrl) {
$.ajax({
type: "POST",
url: 'export.php',
dataType: 'text',
data: {
base64data: dataUrl
}
});
}
});
}
В PHP данные поступают по следующей схеме: «данные: изображение / png; base64, … символы»; … Таким образом, вы должны извлечь часть изображения.
<?php
$data = $_POST['base64data'];
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('image.png', $data);
Обратите внимание, что это решение не является специфичным для кинетики. Его можно использовать с любым холстом HTML5, при условии, что вы замените stage.toDataURL()
позвонить по canvas.toDataURL()
,
Других решений пока нет …