无法在服务器上将HTML5画布转换为图像
我的代码 : JavaScript
var testCanvas = document.getElementById("viewport");
var canvasData = testCanvas.toDataURL("image/png");
$.ajax({
type: 'POST',
url: 'process.php',
data: {
text1: canvasData
},
success: function(response) {
alert(response + '.png');
}
PHP代码:进程.php
<?php
function generateRandomString($length = 6) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
$rawData = $_POST['text1'];
$filteredData = explode(',', $rawData);
$unencoded = base64_decode($filteredData[1]);
$dr = generateRandomString() ;
$fp = fopen('upload/' . $dr .'.png', 'w');
fwrite($fp, $unencoded);
fclose($fp);
echo $dr;
?>
我不明白我的代码有什么问题,我用谷歌搜索了很多,但没有找到任何有用的解决方案并且正在 CentOS 上使用 nginx
我遇到了同样的问题,然后我发现我需要向保存图像所需的目录授予写入权限
你可以通过这个命令来完成:
导航到文件夹并
chmod -R 777
. -R
使其递归。