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;
 }
Example #2
0
 /**
  * 保存指定文件
  * @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;
 }