本帖最后由 爷们来了 于 2011-4-14 18:16 编辑
相信很多站长朋友遇到了此问题吧?
因为本人没有站点,所以不能给大家演示了
Discuz! 上传用户头像这个功能其实是在UCenter中实现的,造成上传Gif头像不能动的的原因在于
新版本UCenter的UCenter\images(或者uc_server\images)目录下的camera.swf有所改动。
所以解决办法很简单
涉及到的文件
camera.swf 我采用以前的神马6.10的UCenter版本中的camera.swf 请查看附件
client.php 路径uc_client\client.php (路径不同请自行查找),此文件改动如下(调整camera.swf高度和宽度):
- function uc_avatar($uid, $type = 'virtual', $returnhtml = 1) {
- $uid = intval($uid);
- $uc_input = uc_api_input("uid=$uid");
- $uc_avatarflash = UC_API.'/images/camera.swf?inajax=1&appid='.UC_APPID.'&input='.$uc_input.'&agent='.md5($_SERVER['HTTP_USER_AGENT']).'&ucapi='.urlencode(str_replace('http://', '', UC_API)).'&avatartype='.$type.'&uploadSize=2048';
- if($returnhtml) {
- return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="447" height="477" id="mycamera" align="middle">
- <param name="allowScriptAccess" value="always" />
- <param name="scale" value="exactfit" />
- <param name="wmode" value="transparent" />
- <param name="quality" value="high" />
- <param name="bgcolor" value="#ffffff" />
- <param name="movie" value="'.$uc_avatarflash.'" />
- <param name="menu" value="false" />
- <embed src="'.$uc_avatarflash.'" quality="high" bgcolor="#ffffff" width="447" height="477" name="mycamera" align="middle" allowScriptAccess="always" allowFullScreen="false" scale="exactfit" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
- </object>';
- } else {
- return array(
- 'width', '447',
- 'height', '477',
- 'scale', 'exactfit',
- 'src', $uc_avatarflash,
- 'id', 'mycamera',
- 'name', 'mycamera',
- 'quality','high',
- 'bgcolor','#ffffff',
- 'wmode','transparent',
- 'menu', 'false',
- 'swLiveConnect', 'true',
- 'allowScriptAccess', 'always'
- );
- }
- }
复制代码
效果演示图片
简单说明上面三个图片:
用户在 camera.swf 中点击“确定”后,camera.swf 会向服务器上传 3 个图片数据,作为大、中、小尺寸的头像图片
如admin,01_avatar_big.jpg,01_avatar_middle.jpg,01_avatar_small.jpg ,该文件在如下类似的目录
uc_server\data\avatar\000\00\00
要想达到同样效果,修改template\default\home\spacecp_avatar.htm,
查找
- <!--{avatar($space[uid],big)}-->
复制代码 改成
- <!--{avatar($space[uid],big)}-->
- <!--{avatar($space[uid],middle)}-->
- <!--{avatar($space[uid],small)}-->
复制代码 懒鬼显得麻烦的话需要改动的文件都已经打包到打附件中了
|