Ejemplo n.º 1
0
 public static function uploadImage()
 {
     $allowFile = array("image/jpeg", "image/png", "image/gif");
     $df = "Ymd-H-i-s";
     $fileName = "TMPIMG" . date($df) . "." . Uploader::getExtension();
     if (!Uploader::getTempFile()) {
         $result['error'] = true;
         $result['message'] = 'Please browse for a file!';
         echo json_encode($result);
         return;
     }
     if (!in_array(Uploader::getType(), $allowFile)) {
         $result['error'] = true;
         $result['message'] = 'Please choose only image file (jpg, png or gif)!';
         echo json_encode($result);
         return;
     }
     if (Uploader::moveUploadFileTo(self::$tmpDir, $fileName)) {
         $result['error'] = false;
         $result['message'] = 'File upload succeeded!';
         $result['image'] = 'assets/upload/tmp/' . $fileName;
         $result['alt'] = $fileName;
     } else {
         $result['error'] = true;
         $result['message'] = 'Fail in moving file upload!';
     }
     echo json_encode($result);
 }
Ejemplo n.º 2
0
 /**
  * 
  * 更新头像接口
  * POST update_avatar.json
  * {
  * 	"pid":"原始照片的id",
  * 	"middle_content":"大头像base64数据"
  *  "original_content":"原图base64数据"
  * }
  */
 public function update_avatar()
 {
     if ($_POST['data']) {
         //flash截取头像
         $data = json_decode($_POST['data'], TRUE);
     } else {
         $data = $this->get_data();
         //手机端
     }
     //如果是j2me平台直接取原图
     if ($this->get_source() == 6) {
         $middle_data = @base64_decode($data['original_content']);
     } else {
         $middle_data = @base64_decode($data['middle_content']);
     }
     $pid = $data['pid'];
     //原图PID
     $original_data = @base64_decode($data['original_content']);
     //原图数据
     if ($pid) {
         $photoModel = new Models\Photo();
         if (!$photoModel->findOne($pid)) {
             $this->response(ResponseType::PHOTO_UPAVATAR_ERROR_INVALID);
         }
     }
     if (!$pid && $original_data) {
         $tmporigin = Core::tempname();
         file_put_contents($tmporigin, $original_data);
         $uploader = new Uploader();
         $uploader->process($tmporigin);
         //不是图片类型
         if ($uploader->getType() !== Uploader::FILETYPE_IMAGE) {
             $this->response(ResponseType::PHOTO_ERROR_IMAGETYPE);
         }
         if ($result = $this->_processUpload($uploader, 1)) {
             $pid = $result['id'];
         } else {
             $this->response(ResponseType::PHOTO_UPAVATAR_ERROR_INVALID);
         }
     }
     if (!$pid || !$middle_data) {
         $this->response(ResponseType::ERROR_LACKPARAMS);
     }
     $tmpfile = Core::tempname();
     if (!file_put_contents($tmpfile, $middle_data)) {
         $this->response(ResponseType::PHOTO_UPAVATAR_ERROR);
     }
     $uploader = new Uploader();
     $uploader->process($tmpfile);
     //不是图片类型
     if ($uploader->getType() !== Uploader::FILETYPE_IMAGE) {
         $this->response(ResponseType::PHOTO_ERROR_IMAGETYPE);
     }
     $photoModel = new Models\Photo();
     $updata['cid'] = 1;
     //我的头像相册
     $updata['oid'] = $pid;
     $updata['ctrl_type'] = 1;
     $updata['is_animated'] = 0;
     $updata['mtime'] = time();
     if ($photoModel->create($uploader, $updata)) {
         $result['id'] = $photoModel->get_pid();
         $result['md5'] = $photoModel->md5;
         $imgurls = $photoModel->geturi($result['id'], 48);
         $result['src'] = $imgurls[0];
         list($set_avatar, $first_time) = $photoModel->setAvatar($photoModel->get_pid(), $updata['oid'], $updata['mtime']);
         if (!$set_avatar) {
             $this->response(ResponseType::PHOTO_UPAVATAR_ERROR);
         }
         $user_model = User_Model::instance();
         $member_field = array('updatetime' => time());
         if ($first_time) {
             $sms_content = '您好,这是您第一次设置头像,系统赠送了100条短信给您';
             $user_model->present_sms($this->getUid(), 100, $sms_content, FALSE);
             $user_info = $user_model->get_user_info($this->getUid());
             $member_field['completed'] = $user_info['completed'] + 10;
         }
         //发送头像修改动态
         $feedModel = new Feed_Model();
         $accessory[] = array('id' => $result['id']);
         $feedModel->addFeed($this->user_id, 3, '更新头像', $this->get_source(), array(), array(), $accessory);
         //更新memberinfo表
         $user_model->update_user_info($this->getUid(), $member_field);
         $this->response(ResponseType::PHOTO_UPAVATAR_OK, '', $result);
         unlink($tmpfile);
     } else {
         $this->response(ResponseType::PHOTO_UPAVATAR_ERROR);
     }
 }