Javascript 无法将画布转换为图像-服务器端
我无法在服务器上将html5画布转换为图像 我的代码:JavaScriptJavascript 无法将画布转换为图像-服务器端,javascript,php,html,canvas,nginx,Javascript,Php,Html,Canvas,Nginx,我无法在服务器上将html5画布转换为图像 我的代码:JavaScript var testCanvas = document.getElementById("viewport"); var canvasData = testCanvas.toDataURL("image/png"); $.ajax({ type: 'POST', url: 'process.php', data: { text1: c
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
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;
?>
php代码:process.php
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
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
使其递归