我必須首先創建Base64圖像串並更新該字符串形式的腳本工作...
<form method="post" action="/process.php">
<input type="hidden" id="base64image" name="myimage" value="***base64 string gets updated here***" />
<input type="submit" value="Create Rotated Image" />
</form>
它再上崗的PHP腳本將其旋轉90度,保持透明度,並將其保存爲服務器上的png。
process.php ...
<?php
$data = str_replace("data:image/png;base64,","",$_POST["myimage"]);;
$data = base64_decode($data);
$degrees = 90;
$name = 'plate';
$im = imagecreatefromstring($data);
header('Content-Type: image/png');
imagealphablending($im, false);
imagesavealpha($im, true);
$rotation = imagerotate($im, $degrees, imageColorAllocateAlpha($im, 0, 0, 0, 127));
imagealphablending($rotation, false);
imagesavealpha($rotation, true);
imagepng($rotation);
$save = "*/root/my/image/directory/* image.png";
imagepng($rotation, $save);
imagedestroy($rotation);
imagedestroy($im);
?>
到目前爲止好,這一切工作正常,它旋轉並保存到服務器上,並顯示在瀏覽器中的形象。
雖然現在我想發佈到這個相同的腳本,但在後臺運行它而不刷新頁面。
所以我嘗試這個...
<form method="post" action="/process.php">
<input type="hidden" id="base64image" name="myimage" value="" />
<input type="submit" value="Create Rotated Image" onclick="postimage();" />
</form>
<script>
$(document).ready(function() {
var mybase64image = $('#base64image').val();
function postimage() {
$.post("/process.php", {myimage:mybase64image});
};
});
</script>
但是,這已不再是圖像保存到服務器上,任何人都可以看到我在做什麼錯在這裏?
你在這裏有什麼代碼:'*** base64 string gets updated here ***'? – Webeng
您需要防止默認表單提交。 – charlietfl
增加帖子請求主體的大小 – madalinivascu