- 浏览: 174705 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (140)
- java (138)
- 佳能500d (1)
- 佳能 (1)
- Oracle数据库文档构造器--Oraschemadoc (1)
- EJB调用的原理分析 (1)
- 使用css3画"静音"icon (1)
- 张小庆,在路上(16)-给弟弟找工作 (1)
- Android短信编解码方式 (1)
- lua web 开发 (1)
- zk安装 (1)
- 菜单多国语言化遇到的问题 (1)
- 【转】纯文本配置还是注册表 (1)
- C++ delete删除动态分配的内存 (1)
- eclipse下修改项目名导致tomcat内发布名不一致的解决方法 (1)
- Lucene实现各种常见文档的全文检索 (1)
- 项目风险之人员流动风险 (1)
- 时空数据模型简介 (1)
- XSLT学习笔记 (1)
- 依然是计划 如果没有计划似乎就没有了动力 (1)
- How to Succeed in A Professional Career (1)
- 编程环境应该和讨论社区完美的进行结合 (1)
- C#坦克大战实现 (1)
- 电脑用户密码忘记了怎么办? (1)
- java.lang.NoClassDefFoundError: org/dom4j/DocumentException (1)
- 关于成立北京Android爱好者俱乐部的声明 (1)
- Android开发之初探音频的播放 (1)
- Struts标签循环List (1)
- CAP原理 (1)
- javabean的自动生成 (1)
- 打开CMD一闪就关的解决方案 (1)
- 我是项目经理,我的项目管理日记【20111202】 (1)
- Html5游戏开发入门笔记--<躲砖块> (1)
- mysql中查看和设置系统字符编码 (1)
- PhoneGap-Accelerometer (1)
- [Jetty]Jetty工作原理 (1)
- Ibatis+Spring整合实例Demo+源码 (1)
最新评论
-
u012985907:
dsdsdsdsd
FLASH上传与拍照 -头像-avatart -
a379933101:
?????????????????????????????
android listview 连续调用 getview问题分析及解决 -
151tmac:
拜托下次粘贴的时候,粘贴为纯文本
android listview 连续调用 getview问题分析及解决 -
liudezhong135:
...
Spring3MVC 在JSP中使用@ModelAttribute -
香飘飘2011:
要是不知道层次级别,如何退回到根目录呢
FTP退回到根目录
转载 darkangle.cnblogs.com
网站里面经常会用到头像,不少网站上都使用flsh来生成,今天正好看到一个flash做得还不错,于是开始研究它的实现原理,下面是分析过程,不感兴趣的请直接跳过,到最后去下载源码包(在沙加的神舟本上测试通过),测试时请将 avatar_test 上传至网站根目录, 使用如果不正常的话多半是目录没有写权限, 请开启 avatar开头的三个子目录写权限. 特别申明, avatareditor.swf 由 bai.sohu.com 开发,版权归搜狐公司所有. 转载本文请注明出自 darkangle.cnblogs.com 谢谢<br><br>要分析它如何使用先从调用代码开始, 用firebug分别找到上传图片和摄像头的调用代码,大概是象这样的一段:<br><embed height="464" width="514" flashvars="type=photo&photourl=http://pic7.bai.sohu.com.cn/a/2009/05/26/09/43/1217a5c86c_0.jpg&photoid=167&posturl=http://upload.bai.sohu.com/camera.do?snstoken=007eae692e8c665ea195d6702cf59d55*13l6rgykielsxckoxjg_0d45nrxnbrepw0lpy2-wdqfkyhnrfqblt_pg3gi575fb&saveurl=http://upload.bai.sohu.com/icon.do?snstoken=007eae692e8c665ea195d6702cf59d55*13l6rgykielsxckoxjg_0d45nrxnbrepw0lpy2-wdqfkyhnrfqblt_pg3gi575fb" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowscriptaccess="always" quality="high" src="http://s1.bai.itc.cn/r/f_v1243271361/album/avatar/avatareditor.swf"/><br>给这个flash传进去几个参数,具体是什么意思暂不清楚, 往下慢慢分析.<br><br>从ie缓存文件中找到avatareditor.swf, 使用sothink swf decompiler (特别版网上可以找到,我用的5.0版) 反编之, 虽然以前没做过flash, 不过看了一下里面的脚本,也不是太难,找到两个关键脚本: avatareditor.as 和 binarytransfer.as , 其中binarytransfer负责以二进制向指定的地址传送数据.<br><br>上面的几个参数:photourl是原始图片的url,不论是用摄像头拍摄还是上传方式,服务器端需要返回一个原始图片的地址供avatareditor编辑使用, type=photo是上传方式或者是使用头像相册中的图片. type=camera时是使用摄像头, camera.do 是保存摄像头拍摄照片的脚本地址,注意后面需要加参数(因为拼接地址需要),这个示例中不需要,所以用一个无意义的radom参数代替, 否则最后请求的地址不正确. <br><br>icon.do是保存缩略图的地址. photoid 是原始图片的id.<br><br>为了更清楚地了解post数据过程可以装一个fiddler, 监视post的地址以及返回值.<br><br>图片被保存后返回的是一些json数据,avatareditor根据这些数据决定上传成功还是失败,并通过外部js接口调用通知浏览器.<br><br>通过fiddler查看结合 binarytransfer 代码的分析得知 avatareditor 会把生成的jpg以二进制方式post到服务器端,这样的话接收方式就有一些区别,而不是传统的表单上传文件的接收方式,调查一番后发现可以通过file_get_contents("php://input")来获取上传的二进制数据,再使用 file_put_contents(sd_root.'./'.$new_avatar_path,file_get_contents("php://input")); 就可以写入目录文件内容,到此保存文件的问题就解决了,再用json返回一些必要数据给avatareditor<br><br>我在源码中已经添加了详细的注释请注意阅读。<br>源代码打包下载
发表评论
-
Ibatis+Spring整合实例Demo+源码
2012-02-08 12:58 1391<span style="color: ... -
[Jetty]Jetty工作原理
2012-02-07 17:29 986http://www.ibm.com/develo ... -
PhoneGap-Accelerometer
2012-02-07 14:23 1193采集设备在x、y、z方向上的动作。 acce ... -
mysql中查看和设置系统字符编码
2012-02-04 14:28 1700--查看数据库的字符集 show variables ... -
Html5游戏开发入门笔记--<躲砖块>
2012-02-03 12:04 1159学习了html5中的canvas画布元素,自己写了一个 ... -
我是项目经理,我的项目管理日记【20111202】
2012-02-03 10:19 981其实前段时间项目 ... -
打开CMD一闪就关的解决方案
2012-02-02 12:14 1376转:http://blog.163.com/cumt_ ... -
javabean的自动生成
2012-02-02 11:59 1385在jcreator pro中自动生成 在j ... -
CAP原理
2012-02-01 09:00 1138作者:NinGoo 原文链接:ht ... -
Struts标签循环List
2012-01-31 14:18 953<pre name="code&quo ... -
Android开发之初探音频的播放
2012-01-11 16:29 1077<h1>Android开发之初探音频的播放 ... -
关于成立北京Android爱好者俱乐部的声明
2012-01-11 14:33 855<blockquote dir="lt ... -
java.lang.NoClassDefFoundError: org/dom4j/DocumentException
2011-12-28 13:03 15080<span style="font-f ... -
电脑用户密码忘记了怎么办?
2011-12-28 12:14 973<span style="fon ... -
C#坦克大战实现
2011-12-20 13:29 1107记得在大学学java ... -
编程环境应该和讨论社区完美的进行结合
2011-12-19 11:54 753在学习.NET过程中,经常会遇到很多问题,有的时候会找 ... -
How to Succeed in A Professional Career
2011-12-19 10:29 723(From Microsoft)<br>& ... -
依然是计划 如果没有计划似乎就没有了动力
2011-12-15 10:39 870</span></span>& ... -
XSLT学习笔记
2011-12-14 14:04 655<p class="MsoNorma ... -
时空数据模型简介
2011-12-14 13:59 1473<p class="MsoNo ...
相关推荐
二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码...
Adobe Flash Builder 4.7 Plug-in Utility.exe
xml灵活配置 flash统计图- flash柱形图- flash圆饼图- flash折线图 多款flash统计图动画
flash_arm架构
华大 IS8U192A_FLASH------芯片内部Flash基本擦读写操作例程
flash2-vxworks-manual flash2-vxworks-manual flash2-vxworks-manual flash2-vxworks-manual
在原有的jflash-44b0x基础上增加对SST39VF1601的烧写,jflash-44b0x-source是原始代码,jflash-44b0x-done是修改后的代码
Flash动画基础教程-源文件Flash动画基础教程-源文件Flash动画基础教程-源文件
flash制作mtv论文-flash毕业论文-flash-mtv论文.doc
本科毕业论文---flash制作mtv论文-flash-flash-mtv论文.doc
flash_mips架构
flash-mp3播放-asp flash-mp3播放-asp flash-mp3播放-asp
cocos2d-x 动画工具 Flash2Cocos2d-x 1.3
SP-Flash-Tool-v5.1532.00 SP-Flash-Tool-v5.1532.00 SP-Flash-Tool-v5.1532.00
Flash Develop -3.3.4 -RTM ( 64 )位 Flash Develop -3.3.4 -RTM ( 64 )位
FlashDevelop-3.2.2-RTM FlashDevelop-3.2.2-RTM
flash毕业设计-----动态影片。背景音乐可以换,照片可以换,还有歌词显现也可以换。
flash漏洞利用CVE-2018-4878。 。。。