php接收前台传递的切片文件并保存 https://blog.csdn.net/weixin_48608124/article/details/117259532
vue+element切片并上传切处文件https://blog.csdn.net/weixin_48608124/article/details/117260557
所保存的切片文件
前台所传递的数据
php后台处理所保存的切片文件
public function mergeUpload(){
$data=I("request.param");//获取前台传递的数据
for ($i=0; $i < $data['chunkNumber']; $i++) {//获取总切片数并拼接路径
if($i==0){
$hebin = ($i+1).'.'.$data['imageName'].' /b ';
}else{
$hebin = $hebin.'+'.($i+1).'.'.$data['imageName'].' /b ';
}
}
$imageName=time().'_'.$data['documentNumber'].'.'.$data['imageName'];//文件最终文件名加后缀名
$temporaryUrl="F:\oss\bzfyimage\upload\\";//切片所在目录
$status=exec("F:&cd ".$temporaryUrl."© ".$hebin.$imageName);//php连续执行cmd命令
//多个命令用&链接 三个命令1.切换到切片所在盘符 2.切换到切片所在目录 3.合并所有切片命名为最终文件名
//完整命令为“F:&cd F:\oss\bzfyimage\upload\© 1.jpg /b +2.jpg /b +3.jpg /b 1621933888_confirm.jpg”
$catalogue=$data["catalogue"].(date("Y-m-d",time())).'\\';//文件最终保存目录
if (!file_exists($catalogue)) {//判断目录是否存在
mkdir($catalogue,0777,true);//如何目录不存在就创建(递归创建,父目录不存在就先创建父目录,再创建子目录)
}
$info=copy($temporaryUrl.$imageName, $catalogue.$imageName);//php复制合并后的文件放到文件最终保存目录
system("del ".$temporaryUrl."*.".$data['imageName']); //php调用cmd删除文件,删除所有切片文件以及合并文件
if (!$info) {
$this->api_return(1,'合并失败,请联系管理员!',$info);//返回前台信息是否合并成功
}else{
$this->api_return(0,'合并成功',(date("Y-m-d",time())).'/'.$imageName);
}
}