背景:用戶上傳圖片并點擊“保存”按鈕。我成功地將圖像保存在服務器中。我給了文件夾 777 的權(quán)限....問題:我試圖打開圖片,但顯示不正確:圖片網(wǎng)址在此處輸入圖片說明html<button class ="save" onclick="test()">Save image to server</button>腳本:function test(){var canvas = document.getElementById("0");var dataURL = canvas.toDataURL(); // THE BASE 64 DATAvar dataFileName = document.getElementById('fileup').value.replace(/.*(\/|\\)/, ''); // GET THE FILE NAME THAT USER CHOSEvar dataFileType = dataFileName.split('.').pop();$.ajax({ type: "POST", url: "tamaker.php", data: { imgBase64: dataURL, imgFileName: dataFileName, imgFileType: dataFileType }}).done(function(o, imgFileName) { console.log(o); var response = JSON.parse(o); console.log(response); $('body').prepend('<img src="' + dataFileName+ '" style="height: 200px; width: auto;">');});}保存.php<?phpini_set('display_errors', 1);ini_set('display_startup_errors', 1);error_reporting(E_ALL);if( isset($_POST['imgBase64']) && isset($_POST['imgFileName']) && isset($_POST['imgFileType']) ){ $fname = filter_input(INPUT_POST, 'imgFileName'); // THE FILENAME THE USER CHOSE IS RECEIVED VIA POST $img = filter_input(INPUT_POST, 'imgBase64'); // THE BASE64 ENCODING RECEIVED VIA POST $imgtype = filter_input(INPUT_POST, 'imgFileType'); // THE FILE TYPE / EXTENSION IS RECEIVED VIA POST // STRIP OFF THE BEGINNING OF THE BASE64 DATA, BUT DEPENDS ON THE IMAGE TYPE. // I COULD HAVE SIMPLIFIED THIS BUT USED IF STATEMENTS. if ( $imgtype === 'png'){ $img = str_replace('data:image/png;base64,', '', $img); }; if ( $imgtype === 'jpg' || $imgtype === 'jpeg'){ $img = str_replace('data:image/jpeg;base64,', '', $img); }; if ( $imgtype === 'gif'){ $img = str_replace('data:image/gif;base64,', '', $img); };
- 2 回答
- 0 關注
- 172 瀏覽
添加回答
舉報
0/150
提交
取消