更多详情: https://www.3maio.com/
首先写好上传的方法,注意这个方法只负责上传。至于把图片路径插入数据库应该再定义一个新的方法来调用这个方法。
/**
* upload 上传方法
* @author <kingphp@foxmail.com>
* @param int $returnType 返回数据的格式 (1代表使用json返回,2代表数组格式返回,3将数据存放到SESSION中)
* @return json 返回json格式的图片数据信息,json包括url(图片路径) state(错误信息)
*/
public function upload($returnType=1){
$upload = new \Think\Upload();
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->autoSub =true ;
$upload->subType ='date';
$upload->saveName = time().'_'.mt_rand();
$upload->dateFormat ='ym' ;
$upload->rootPath = './';
$upload->savePath = './Uploads/thumb/';// 设置附件上传目录
$info = $upload->upload();
if($info){
foreach($info as $v){
$imgData[] = $v['savepath'].$v['savename'];
if($returnType==1){
echo json_encode(array(
'url'=>$imgData,
'state'=>'SUCCESS'
));
}elseif($returnType==2){
return $imgData;
}else{
$_SESSION['imgData'][] = $imgData;
return;
}
}
}else{
echo json_encode(array(
'state'=>$upload->getError()
));
exit;
}
}
接下来,说说dropzone.js吧。DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库。它是轻量级的,不依赖任何其他类库(如JQuery)并且高度可定制(比如说,