< p >您是否曾經(jīng)想過在網(wǎng)頁中使用canvas來展示您的作品或者實(shí)現(xiàn)各種效果,卻又覺得難以上傳并發(fā)送到服務(wù)器?本篇文章將會(huì)為您介紹canvas php上傳的方法以及步驟,讓您不必再為此擔(dān)心! p >< p >在上傳之前,需要的是將canvas圖像轉(zhuǎn)換成一張圖片,然后通過php將其上傳至我們的服務(wù)器。這里有一份簡(jiǎn)單的代碼示例,以下是一個(gè)HTML文件部分的代碼: p >< pre >
pre >< p >在這個(gè)HTML文件中,我們有一個(gè)canvas元素,以及一個(gè)Upload按鈕。當(dāng)我們單擊Upload按鈕時(shí),它將調(diào)用一個(gè)JavaScript函數(shù)來執(zhí)行上傳操作。以下是upload()函數(shù)的代碼: p >< pre >function upload() {
var canvas = document.getElementById('canvas');
var dataURL = canvas.toDataURL("image/jpeg");
var request = new XMLHttpRequest();
request.open('POST', 'upload.php', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.onload = function() {
if (request.status >= 200 && request.status< 400) {
alert('Upload successful!');
} else {
alert('Upload failed.');
}
};
request.onerror = function() {
alert('Connection error.');
};
request.send(encodeURIComponent(dataURL));
}
pre >< p >該JavaScript函數(shù)首先獲取到canvas元素,然后使用toDataURL()方法將其轉(zhuǎn)換成圖片格式。然后我們創(chuàng)建了一個(gè)XMLHttpRequest對(duì)象,將其設(shè)為POST請(qǐng)求,調(diào)用upload.php頁面來接收,并設(shè)置請(qǐng)求頭信息。最后將轉(zhuǎn)換后的數(shù)據(jù)通過請(qǐng)求對(duì)象發(fā)送。當(dāng)上傳請(qǐng)求完成后,根據(jù)服務(wù)器返回的狀態(tài)碼判斷上傳結(jié)果。 p >< p >接下來就該是上傳頁面upload.php的代碼了: p >< pre >
pre >< p >在這個(gè)代碼片段中,我們首先獲取到了傳遞過來的數(shù)據(jù),并對(duì)其進(jìn)行解碼操作。隨后根據(jù)時(shí)間戳來為上傳的文件起名,并使用file_put_contents()函數(shù)將其寫入指定目錄下。 現(xiàn)在您可以試著上傳一張測(cè)試的圖片,看看它是否成功被上傳到服務(wù)器上了。 p >< p >總結(jié)一下,現(xiàn)在我們可以完美地通過canvas來展示圖片,并且可以通過php將其上傳到服務(wù)器上。希望這篇文章對(duì)您有所幫助,能夠帶領(lǐng)您進(jìn)一步探索canvas和php的更多精彩應(yīng)用。上一篇cannal php
下一篇jqgraph php