`
lucene321
  • 浏览: 179489 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FLASH上传与拍照 -头像-avatart

    博客分类:
  • java
阅读更多
     
转载 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&amp;photourl=http://pic7.bai.sohu.com.cn/a/2009/05/26/09/43/1217a5c86c_0.jpg&amp;photoid=167&amp;posturl=http://upload.bai.sohu.com/camera.do?snstoken=007eae692e8c665ea195d6702cf59d55*13l6rgykielsxckoxjg_0d45nrxnbrepw0lpy2-wdqfkyhnrfqblt_pg3gi575fb&amp;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>源代码打包下载
 
0
0
分享到:
评论
1 楼 u012985907 2015-02-04  
dsdsdsdsd

相关推荐

    二行代码显示flash2010-06-29

    二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码显示flash2010-06-29二行代码...

    源代码-flash上传头像剪裁预览组件 v2.1.zip

    源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件...

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    《cocos2d-x 动画工具 Flash2Cocos2d-x 1.3:将Flash创意带入移动游戏开发》 在移动游戏开发领域,cocos2d-x是一款广泛使用的开源游戏引擎,以其高效、跨平台的特性深受开发者喜爱。而Flash2Cocos2d-x则是一个专为...

    signed_firefox-flashplayer_1.0.0-3_arm64.deb

    flash_arm架构

    J-Flash、JLink-Windows-V796g

    J-Flash

    使用NandFlash上的u-boot烧写NorFlash.zip

    在嵌入式系统开发中,NorFlash和NandFlash是两种常见的非易失性存储器。NorFlash以其读取速度快、可以直接执行代码的特性常用于存储Bootloader等关键程序,而NandFlash则以大容量、低成本的优势用于存储操作系统和...

    Linux环境下Flash的烧写工具-jflash-44b0x

    在IT行业中,Linux环境下的设备开发与编程是一个重要的领域,特别是在嵌入式系统中。本文将深入探讨"Linux环境下Flash的烧写工具-jflash-44b0x"的相关知识点,包括其功能、用途、操作流程以及源码修改。 首先,让...

    J-Flash-keygen.zip

    总结来说,"J-Flash-keygen.zip"压缩包内的J-Flash Keygen工具为无license的J-Flash用户提供了一条可能的途径,但用户需要权衡其合法性与潜在风险。在追求成本效益的同时,尊重和遵守软件的授权规定,是每个开发者...

    signed_firefox-flashplayer_1.0.0-5_mips64el.deb

    flash_mips架构

    flash-attn-2.6.3-cp38-cp38-win-amd64.whl

    win10下cuda12.1 +troch2.4.1+vs2022+python3.8环境下编译的flash-attn库

    Flash动画基础教程-源文件

    Flash动画基础教程-源文件Flash动画基础教程-源文件Flash动画基础教程-源文件

    Adobe Flash Builder 4.7 Plug-in Utility.exe

    Adobe Flash Builder 4.7 Plug-in Utility.exe

    J-Flash V5.2h & 6.84a

    J-Flash是一款由SEGGER Microcontroller GmbH公司开发的专业级嵌入式系统编程工具,主要用于微控制器的固件烧录。在这个标题为“J-Flash V5.2h & 6.84a”的资源中,我们看到的是该软件的两个不同版本——V5.2h和V...

    FlashDevelop-3.2.2-RTM

    FlashDevelop-3.2.2-RTM FlashDevelop-3.2.2-RTM

    flash-programmer-2-1.8.2; flash-programmer-2-1.8.2

    flash-programmer-2-1.8.2; flash-programmer-2-1.8.2;

    jsp头像上传仿flash效果

    【标题】"jsp头像上传仿flash效果"指的是在JavaServer Pages (JSP) 中实现一个用户头像上传的功能,并且这个功能在视觉效果上模仿了经典的Flash技术。Flash曾经是网页动态效果和多媒体交互的主要工具,但在现代网页...

    J-FLASH V6.50b.rar

    附带的JLink_Windows_V650b.exe文件是Windows平台的驱动程序,安装后将使J-FLASH与计算机硬件完美对接,提供顺畅的使用体验。 总的来说,J-FLASH V6.50b是一款不可或缺的嵌入式开发工具,它简化了固件管理流程,...

    flash漏洞利用CVE-2018-4878

    flash漏洞利用CVE-2018-4878。 。。。

    flash毕业设计----动态影片

    flash毕业设计-----动态影片。背景音乐可以换,照片可以换,还有歌词显现也可以换。

Global site tag (gtag.js) - Google Analytics