試圖將圖片透過json進行傳輸,這個時候就想到利用base64編碼的方法來圖片。主要步驟有
1、對圖片檔案進行編碼,轉換為base64編碼的格式,及一長串字元;
2、可將字元透過json進行傳送;<br>
3、目的方接收json數組,取出編碼字串,並進行解碼,顯示圖片
此方法困難主要還是在於對圖片的編解碼處理,以下是用PHP實現的編解碼處理代碼
<?php $image_file = './uploads/14391214729290.jpg'; //读取图片文件,并转换成base64编码格式 $image_info = getimagesize($image_file); $base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file))); //echo $base64_image_content; //将base64字符串解码并保存为原来图片格式 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){ $type = $result[2]; $new_file = "./newfile.{$type}"; if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){ echo '新文件保存成功:', $new_file; } } //显示图片 <img src="<?php echo $base64_image_content;?>" /> ?>
<br>作用:
執行一個正規表示式匹配回傳值:
返回pattern 的配對次數。 它的值將是0次(不匹配)或1次,因為preg_match()在第一次匹配後 將會停止搜尋。如果發生錯誤preg_match()
回傳
FALSE。 <br>file_put_contents
作用:將字串寫入檔案<br>
回傳值:此函數成功將傳回寫入檔案內資料的位元組數,並在失敗時傳回 FALSE。
<br><br>
,未經文章<br>