Сохранить холст в каталог на сервере не работает

У меня есть скрипт, который позволяет людям подписывать документ с помощью HTML5 Canvas. Я хочу сохранить подпись в указанном каталоге. Но почему-то я не могу заставить это работать.

Sign.php

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Signature Pad demo</title>
<meta name="description" content="Signature Pad - HTML5 canvas based smooth signature drawing using variable width spline interpolation.">

<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">

<link rel="stylesheet" href="Core/CSS/signature-pad.css">

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-39365077-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

function loadDoc() {
// create a dataUrl from the canvas
var dataURL= canvas.toDataURL();

// post the dataUrl to php

$.ajax({
type: "POST",
url: "upload.php",
data: {image: dataURL}
}).done(function( respond ) {
// you will get back the temp file name
// or "Unable to save this image."console.log(respond);
});
}
</script>
</head>
<body onselectstart="return false">
<a id="github" href="https://github.com/szimek/signature_pad">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png" alt="Fork me on GitHub">
</a>

<div id="signature-pad" class="m-signature-pad">
<div class="m-signature-pad--body">
<canvas></canvas>
</div>

<div class="m-signature-pad--footer">
<div class="description">Sign above</div>
<button type="button" class="button clear" data-action="clear">Clear</button>
<button type="button" class="button save" onclick="loadDoc()">Save</button>
</div>
</div>

<script src="Core/Scripts/signature_pad.js"></script>
<script src="Core/Scripts/app.js"></script>
</body>
</html>

Save.php

<?php

// make sure the image-data exists and is not empty
// xampp is particularly sensitive to empty image-data
if ( isset($_POST["image"]) && !empty($_POST["image"]) ) {

// get the dataURL
$dataURL = $_POST["image"];

// the dataURL has a prefix (mimetype+datatype)
// that we don't want, so strip that prefix off
$parts = explode(',', $dataURL);
$data = $parts[1];

// Decode base64 data, resulting in an image
$data = base64_decode($data);

// create a temporary unique file name
$file = 'uploads/' . uniqid() . '.png';

// write the file to the upload directory
$success = file_put_contents($file, $data);

// return the temp file name (success)
// or return an error message just to frustrate the user (kidding!)
print $success ? $file : 'Unable to save this image.';

}

Оба файла находятся в одном каталоге.
Каталог загрузки — это подкаталог, подобный следующему:

Web
|-uploads (directory)
|-Handtekening.php (Sign.php)
|-upload.php (Save.php)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]