资源简介
本文参考UCenter中上传头像功能的剥离php版本,陆续实现了java版本和.net版本的。
具体介绍如下(以php为例,其他版本见源码)
本文的内容仅供技术交流学习之用,相关的代码并未考虑实际应用系统中所必需的用户身份验证等功能,同时由于 UCenter 发行许可的限制,请勿将本文附带的代码直接用于实际的产品或项目中。
Discuz! 和 UCHome 中的头像上传功能很好用,大概有不少人和我一样想弄清楚它是怎么实现的,甚至希望移植到自己的应用系统中。
这个功能其实是在 UCenter 中实现的(这是 Discuz! 和 UCHome 等其它相关产品都依赖的公共模块),通过一个 Flash 文件(camera.swf),跟服务端的 PHP 程序配合完成的。
UCenter/UCHome 本身是开源的,但那个 camera.swf 并没有提供源代码。我们可以通过对 PHP 程序进行分析研究,进而基本摸清这个功能操作的细节,并最终将其剥离出来,独立于 UCenter 而独立运行。本文内容依据的是 UCenter1.5.0/UCHome2.0 。
首先我们来看一下 UCenter/UCHome 中这个功能是怎么工作的。
■ 基本步骤
0. 浏览器访问 UCHome 中的一个 web 页面,其中包含 camera.swf。为保证 camera.swf 能正常工作,在其相同的路径下需要有 locale.xml 文件。
装载 camera.swf 的 HTML 代码可以由下面的程序生成:
home\uc_client\client.php : uc_avatar()
生成的内容大致如下:
<embed src="http://localhost/center/images/camera.swf?inajax=1&appid=1&input=6b49vKhr%2FC4VpMIMCAt07Kr2eQk8jjY%2F6vtvDonod47dU7JK%2BxVFJPIVY%2FJGMQoSpzHylapBa8FbsEWFGorPwZDJRM10wGjxvbHKTVmVgrng%2BpoSTTsk%2BE3U&agent=a523e70c80e13e4eaee37c7f4bde4f2c&ucapi=http%3A%2F%2Flocalhost%2Fcenter&avatartype=virtual"
quality="high"
bgcolor="#ffffff"

代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 156387 2010-10-06 15:32 三种版本的图片裁剪\Avatar_.net.rar
文件 3663 2011-03-28 13:22 三种版本的图片裁剪\ImgCropper_java\avatar.jsp
文件 78874 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\camera.swf
文件 5964 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\common.js
文件 25617 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5.jpg
文件 5018 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5_big.jpg
文件 3677 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5_middle.jpg
文件 1429 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5_small.jpg
文件 840835 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\6.jpg
文件 9250 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\locale.xml
文件 7176 2011-03-24 17:14 三种版本的图片裁剪\ImgCropper_php\avatar.php
文件 78874 2011-01-21 16:09 三种版本的图片裁剪\ImgCropper_php\camera.swf
文件 5964 2011-03-24 17:16 三种版本的图片裁剪\ImgCropper_php\common.js
文件 106544 2011-01-21 16:09 三种版本的图片裁剪\ImgCropper_php\common11.js
文件 25617 2011-03-24 17:14 三种版本的图片裁剪\ImgCropper_php\data\5.jpg
文件 5018 2011-03-24 11:48 三种版本的图片裁剪\ImgCropper_php\data\5_big.jpg
文件 3677 2011-03-24 11:48 三种版本的图片裁剪\ImgCropper_php\data\5_middle.jpg
文件 1429 2011-03-24 11:48 三种版本的图片裁剪\ImgCropper_php\data\5_small.jpg
..A.SH. 15360 2011-03-28 13:26 三种版本的图片裁剪\ImgCropper_php\data\Thumbs.db
文件 743 2011-03-24 11:19 三种版本的图片裁剪\ImgCropper_php\index.html
文件 9250 2011-01-21 16:09 三种版本的图片裁剪\ImgCropper_php\locale.xml
文件 7291 2011-03-28 13:26 三种版本的图片裁剪\readme.txt
目录 0 2011-03-28 13:25 三种版本的图片裁剪\ImgCropper_java\data
目录 0 2011-03-28 13:26 三种版本的图片裁剪\ImgCropper_php\data
目录 0 2011-03-28 13:25 三种版本的图片裁剪\ImgCropper_java
目录 0 2011-03-28 13:26 三种版本的图片裁剪\ImgCropper_php
目录 0 2011-03-28 13:26 三种版本的图片裁剪
----------- --------- ---------- ----- ----
1397657 27
............此处省略0个文件信息
----------- --------- ---------- ----- ----
文件 156387 2010-10-06 15:32 三种版本的图片裁剪\Avatar_.net.rar
文件 3663 2011-03-28 13:22 三种版本的图片裁剪\ImgCropper_java\avatar.jsp
文件 78874 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\camera.swf
文件 5964 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\common.js
文件 25617 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5.jpg
文件 5018 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5_big.jpg
文件 3677 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5_middle.jpg
文件 1429 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\5_small.jpg
文件 840835 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\data\6.jpg
文件 9250 2011-03-28 10:39 三种版本的图片裁剪\ImgCropper_java\locale.xm
文件 7176 2011-03-24 17:14 三种版本的图片裁剪\ImgCropper_php\avatar.php
文件 78874 2011-01-21 16:09 三种版本的图片裁剪\ImgCropper_php\camera.swf
文件 5964 2011-03-24 17:16 三种版本的图片裁剪\ImgCropper_php\common.js
文件 106544 2011-01-21 16:09 三种版本的图片裁剪\ImgCropper_php\common11.js
文件 25617 2011-03-24 17:14 三种版本的图片裁剪\ImgCropper_php\data\5.jpg
文件 5018 2011-03-24 11:48 三种版本的图片裁剪\ImgCropper_php\data\5_big.jpg
文件 3677 2011-03-24 11:48 三种版本的图片裁剪\ImgCropper_php\data\5_middle.jpg
文件 1429 2011-03-24 11:48 三种版本的图片裁剪\ImgCropper_php\data\5_small.jpg
..A.SH. 15360 2011-03-28 13:26 三种版本的图片裁剪\ImgCropper_php\data\Thumbs.db
文件 743 2011-03-24 11:19 三种版本的图片裁剪\ImgCropper_php\index.html
文件 9250 2011-01-21 16:09 三种版本的图片裁剪\ImgCropper_php\locale.xm
文件 7291 2011-03-28 13:26 三种版本的图片裁剪\readme.txt
目录 0 2011-03-28 13:25 三种版本的图片裁剪\ImgCropper_java\data
目录 0 2011-03-28 13:26 三种版本的图片裁剪\ImgCropper_php\data
目录 0 2011-03-28 13:25 三种版本的图片裁剪\ImgCropper_java
目录 0 2011-03-28 13:26 三种版本的图片裁剪\ImgCropper_php
目录 0 2011-03-28 13:26 三种版本的图片裁剪
----------- --------- ---------- ----- ----
1397657 27
............此处省略0个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论