/**
* 上传测试接口(不需要任何参数)
* @param {string} addr:地址,longitude:经度,latitude:纬度
* @return {json} 成功返回图片路径及参数
*/
public function addReport()
{
$tmp = file_get_contents("php://input");
$arr = json_decode($tmp,true);
$picList = $this->_upload();//调用图片上传函数
if(!$picList){
$this->error('图片上传失败');
}
$i = 1;
foreach ($picList as $value) {
$key = 'pic'.$i;
$data[$key] = $value;
$i++;
}
$data['addr'] = $arr['addr']?$arr['addr']:I('addr');
$data['longitude'] = $arr['longitude']?$arr['longitude']:I('longitude');
$data['latitude'] = $arr['latitude']?$arr['latitude']:I('latitude');
if(M('Report')->add($data)){
$this->success($data,'成功');
}else{
$this->error('存储失败');
}
}
/**
* 多个图像上传
* @param {string} $type: 存储类型 report:投诉 ,avatar:头像,logo:厂家logo,ad:广告图片
* @return {array} $arr 图片web地址列表
*/
public function _upload($type = 'report'){
$config = array(
'maxSize' => 3145728,
'rootPath' => 'up/'.$type.'/',
'savePath' => '',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$baseUrl = C('SITE_URL').'up/'.$type.'/';//例如:http://www.baidu.com/up/report/
$upload = new \Think\Upload($config);// 实例化上传类
// 上传文件
$info = $upload->upload();
$arr = array();
$i = 0;
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
foreach($info as $file){ //循环存储图片到服务器
$subUrl = $file['savepath'].$file['savename'];//例如:20140125/dfuosi203.jpg
$arr[$i++] = $baseUrl.$subUrl;
}
return $arr;
}
}