前景:前端发送base64格式的图片给到后端。后端如果用自带的框架上传图片是行不通的,所以博主采用下面的方法进行对base64文件上传处理
PHP版base64位上传函数:
public function base64($file){
//接收base64数据
$image= $file;
//设置图片名称
$imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png';
//判断是否有逗号 如果有就截取后半部分
if (strstr($image,",")){
$image = explode(',',$image);
$image = $image[1];
}
//设置图片保存路径
$path = "./uploads/guochaosign/".date("Ymd",time());
//判断目录是否存在 不存在就创建
if (!is_dir($path)){
mkdir($path,0777,true);
}
//图片路径
$imageSrc= $path."/". $imageName;
//生成文件夹和图片
$r = file_put_contents($imageSrc, base64_decode($image));
if (!$r) {
return '图片生成失败';
}else {
return str_replace("./","/",$imageSrc);
}
}使用调用方法:
// 图片上传
public function uploadImg(){
//判断是否是POST请求,如果是处理上传逻辑
if (request()->isPost()){
//接收文件上传类型
$namePath = 123;
//获取表单上传文件
$file = request()->param('img');
$src = $this->base64($file);
if ($src){
return json(['code'=>1,'msg'=>'上传成功','data'=>['src'=>$src]]);
}else{
return json(['code'=>0,'msg'=>'上传失败']);
}
}else{
return json(['code'=>0,'msg'=>'非法请求']);
}
}
关于简忆
简忆诞生的故事



粤ICP备16092285号
文章评论(0)