protected function upload($params) { slog($params); /* 返回标准数据 */ $return = array('status' => 1, 'info' => '上传成功', 'data' => ''); $model = $params['model'] == 'Picture' ? 'Picture' : 'File'; /* 调用文件上传组件上传文件 */ $table = D($model); $driver = C("{$model}_UPLOAD_DRIVER"); d_f('upload', $driver); $upload_config = C("{$model}_UPLOAD"); d_f('upload', $upload_config); if (isset($params['rootPath'])) { $upload_config['rootPath'] = $params['rootPath']; } $info = $table->upload($_FILES, $upload_config, $driver, C("UPLOAD_{$driver}_CONFIG")); d_f('upload', $info); /* 记录图片信息 */ if ($info) { $return['status'] = 1; $return = array_merge($info[$params['field']], $return); if (method_exists($this, 'after_upload')) { $this->after_upload(CONTROLLER_NAME, $info, $result); } } else { $return['status'] = 0; $return['info'] = $table->getError(); } d_f('upload', $return); return $return; }
/** * 保存指定文件 * @param array $file 保存的文件信息 * @param boolean $replace 同名文件是否覆盖 * @return boolean 保存状态,true-成功,false-失败 */ public function save(&$file, $replace = true) { $file['name'] = $file['savepath'] . $file['savename']; $result = $this->Client->uploadFile($this->config['aid'], $file['tmp_name'], $file['name']); $result = json_decode($result, true); d_f('upload', $result); if (isset($result[0])) { $result = $result[0]; } if (isset($result['code'])) { $this->error = 'token错误'; } else { $file['url'] = $result['linkurl']; } return isset($result['width']) ? true : false; }