使用html5 FileReader获取图片,并异步上传到server(不使用iframe)
原理:
1.使用FileReader 读取图片的base64编码
2.使用ajax。把图片的base64编码post到server。
3.依据接收到post的数据分析图片的类型(jpg,gif,png)。并把base64_decode后的数据生成相应类型的图片文件。
html:
使用html5 FileReader获取图片。并异步上传到server(not iframe) 使用html5 FileReader获取图片,并异步上传到server(not iframe)
server.php
php $img = isset($_POST['img'])? $_POST['img'] : ''; // 获取图片 list($type, $data) = explode(',', $img); // 推断类型 if(strstr($type,'image/jpeg')!=''){ $ext = '.jpg'; }elseif(strstr($type,'image/gif')!=''){ $ext = '.gif'; }elseif(strstr($type,'image/png')!=''){ $ext = '.png'; } // 生成的文件名称 $photo = time().$ext; // 生成文件 file_put_contents($photo, base64_decode($data), true); // 返回 header('content-type:application/json;charset=utf-8'); $ret = array('img'=>$photo); echo json_encode($ret); ?>