3 回答

TA貢獻1773條經(jīng)驗 獲得超3個贊
您不需要文件輸入,只需ctx.getImageData()使用Ajax 獲取數(shù)據(jù)并將其發(fā)布到服務器即可。
請參閱MDN文檔CanvasRenderingContext2D.getImageData()。
但是,即使使用,您也無法在IE中獲取圖像數(shù)據(jù)ExCanvas。

TA貢獻1788條經(jīng)驗 獲得超4個贊
這是我解決此問題的方法。使用JavaScript將圖像發(fā)布為base64數(shù)組,然后使用PHP解碼并將其保存為圖像。
客戶端(JavaScript):
$.post('/ajax/uploadthumbnail',
{
id : id,
img : canvas.toDataURL("image/png")
}, function(data) {
console.log(data);
});
服務器端(PHP):
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = $_SERVER['DOCUMENT_ROOT'] . '/images/some_name.png';
file_put_contents($file, $data);
添加回答
舉報