/** * 修改头像 * @access public * @return void * @example <pre> /index.php?m=native&c=user&a=doAvatar <br> post: securityKey <br> postdata: Filename <br> curl -X POST -F 'Filename=@icon1.jpg' -F 'csrf_token=aaa' -F '_json=1' -F 'securityKey=xx' -b 'csrf_token=aaa' '/index.php?m=native&c=user&a=doAvatar' </pre> */ public function doAvatarAction() { $this->checkUserSessionValid(); // Wind::import('WSRV:upload.action.WindidAvatarUpload'); Wind::import('LIB:upload.PwUpload'); $bhv = new WindidAvatarUpload($this->uid); $upload = new PwUpload($bhv); if (($result = $upload->check()) === true) { foreach ($_FILES as $key => $value) { if (!PwUpload::isUploadedFile($value['tmp_name']) || !$bhv->allowType($key)) { continue; } } $file = new PwUploadFile($key, $value); if (($result = $upload->checkFile($file)) !== true) { $this->showError($result->getError()); } $file->filename = $upload->filterFileName($bhv->getSaveName($file)); $file->savedir = $bhv->getSaveDir($file); $file->store = Wind::getComponent($bhv->isLocal ? 'localStorage' : 'storage'); $file->source = str_replace('attachment', 'windid/attachment', $file->store->getAbsolutePath($file->filename, $file->savedir)); // if (!PwUpload::moveUploadedFile($value['tmp_name'], $file->source)) { $this->showError('upload.fail'); } $image = new PwImage($file->source); if ($bhv->allowThumb()) { $thumbInfo = $bhv->getThumbInfo($file->filename, $file->savedir); foreach ($thumbInfo as $key => $value) { $thumburl = $file->store->getAbsolutePath($value[0], $value[1]); $thumburl = str_replace('attachment', 'windid/attachment', $thumburl); // $result = $image->makeThumb($thumburl, $value[2], $value[3], $quality, $value[4], $value[5]); if ($result === true && $image->filename != $thumburl) { $ts = $image->getThumb(); } } } $this->showMessage('success'); } $this->showMessage('operate.fail'); }