1.转换二进制数据至本地图片
public function save_image($data){
//生成图片
$imgDir = '/public/image/';
$filename="nissangcj".time().".jpg";///要生成的图片名字
$jpg = $data;//得到post过来的二进制原始数据
if(empty($jpg)){
return array('rsp'=>'fail','data'=>'数据为空 请稍候重试');
}
$file = fopen("./".$imgDir.$filename,"w");//打开文件准备写入
fwrite($file,$jpg);//写入
fclose($file);//关闭
$filePath = './'.$imgDir.$filename;
//图片是否存在
if(!file_exists($filePath)){
return array('rsp'=>'fail','data'=>'图片已经存在 请稍候重试');
}else{
return array('rsp'=>'succ','data'=>$imgDir.$filename);
}
}
2.传入图片路径 浏览器直接下载
//下载图片
public function download($data){
$file = $data['image_url'];
$fileTmp = pathinfo($file);
$fileExt = $fileTmp['extension'];
$saveFileName = (time().'.'.$fileExt);//下载文件名
$fp=fopen($file,"r");
$file_size=filesize($file);
//下载文件需要用到的头
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:".$file_size);
Header("Content-Disposition: attachment; filename=".$saveFileName);
$buffer=1024;
$file_count=0;
//向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
$file_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);
exit;
}