效果图如下:

HTML页面代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>flash上传头像组件演示</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css" media="screen">
html, body {
height: %;
background-color: #ffffff;
} #flashContent {
width: %;
height: %;
}
</style> <script type="text/javascript">
//function uploadevent(status, picUrl, callbackdata) {
function uploadevent(status) {
alert();
//alert(callbackdata); //后端返回数据
var picUrl = "/upload/";
status += '';
switch (status) {
case '':
var time = new Date().getTime();
var filename162 = picUrl + '1.png';
var filename48 = picUrl + '2.png';
var filename20 = picUrl + "3.png"; document.getElementById('avatar_priview').innerHTML = "头像1 : <img src='" + filename162 + "?" + time + "'/> <br/> 头像2: <img src='" + filename48 + "?" + time + "'/><br/> 头像3: <img src='" + filename20 + "?" + time + "'/>"; break;
case '-1':
window.location.reload();
break;
default:
window.location.reload();
}
}
</script>
</head>
<body>
<div id="altContent"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
width="" height="" id="myMovieName">
<param name="movie" value="avatar.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#FFFFFF">
<param name="flashvars" value="imgUrl=./default.jpg&uploadUrl=./upfile.aspx&uploadSrc=false" />
<embed src="avatar.swf" quality="high" bgcolor="#FFFFFF" width="" height="" wmode="transparent" flashvars="imgUrl=./default.jpg&uploadUrl=./upfile.aspx&uploadSrc=false"
name="myMovieName" align="" type="application/x-shockwave-flash" allowscriptaccess="always"
pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object> <!--参数说明
imgUrl = default.jpg 默认图片
uploadUrl= upfile.php 接收图片接口
uploadSrc=false 是否上传原图
showCame=true 是否显示摄像头
pCut=| 裁切框大小
pSize=||||| 预览保存图片大小 pData=||||| 保存图片大小 例如: imgUrl=./default.jpg&uploadUrl=./upfile.php&uploadSrc=false&showCame=true&pCut=|&pSize=|||||&pData=|||||--> </div> <div id="avatar_priview"></div> </body>
</html>

upfile.aspx 后台处理文件, cookie里保存的值可以取到,session不可以。

<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System" %> <%@ Page Language="C#" %> <% String pic = Request.Form["pic"];
String pic1 = Request.Form["pic1"];
String pic2 = Request.Form["pic2"];
String pic3 = Request.Form["pic3"]; string Token = WiSpeed.Common.CookieHelper.GetCookieValue("t");
string t = Session["t"] as string;
//原图
if (pic.Length == 0)
{
}
else
{
byte[] bytes = Convert.FromBase64String(pic); //将2进制编码转换为8位无符号整数数组 string url = "./src.png";
FileStream fs = new FileStream(Server.MapPath(url), System.IO.FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
} byte[] bytes1 = Convert.FromBase64String(pic1); //将2进制编码转换为8位无符号整数数组.
byte[] bytes2 = Convert.FromBase64String(pic2); //将2进制编码转换为8位无符号整数数组.
byte[] bytes3 = Convert.FromBase64String(pic3); //将2进制编码转换为8位无符号整数数组. //图1
string url1 = "./1.png";
FileStream fs1 = new FileStream(Server.MapPath(url1), System.IO.FileMode.Create);
fs1.Write(bytes1, 0, bytes1.Length);
fs1.Close(); //图2
string url2 = "./2.png";
FileStream fs2 = new FileStream(Server.MapPath(url2), System.IO.FileMode.Create);
fs2.Write(bytes2, 0, bytes2.Length);
fs2.Close(); //图3
string url3 = "./3.png";
FileStream fs3 = new FileStream(Server.MapPath(url3), System.IO.FileMode.Create);
fs3.Write(bytes3, 0, bytes3.Length);
fs3.Close(); Response.Write("{\"status\":1}"); %>

  

flash上传头像,截取图像 组件演示的更多相关文章

  1. 使用swfupload上传超过30M文件,使用FLASH上传组件

    原文:使用swfupload上传超过30M文件,使用FLASH上传组件 前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务 ...

  2. 完美实现类似QQ的自拍头像、上传头像功能!(Demo 源码)

    现在很多下载客户端程序都需要设定自己头像的功能,而设定头像一般有两种方式:使用摄像头自拍头像,或者选择一个图片的某部分区域作为自己的头像. 一.相关技术 若要实现上述的自拍头像和上传头像的功能,会碰到 ...

  3. Jcrop+uploadify+php实现上传头像预览裁剪

    最近由于项目需要,所以做了一个上传头像预览并且可以预览裁剪的功能,大概思路是上传的图片先保存到服务器,然后通过ajax从服务器获取到图片信息,再利用Jcrop插件进行裁剪,之后通过PHP获取到的四个裁 ...

  4. PHP+Ajax+plupload无刷新上传头像代码

    很简单的一款PHP+Ajax+plupload无刷新上传头像代码,兼容性很好,可以直接拿来用.你可以自定义各种类型的文件.本实例中只能上传"jpg", "png" ...

  5. php实现手机拍照上传头像功能

    现在手机拍照很火,那么如何使用手机拍照并上传头像呢?原因很简单,就是数据传递,首先手机传递照片信息,这个就不是post传递 也不是get函数传递, 这个另外一种数据格式传递,使用的是$GLOBALS ...

  6. Android基础之——startActivityForResult启动界面并返回数据,上传头像

    在android应用的开发过程中,常常会出现启动一个界面后填写部分内容后带着数据返回启动前的界面,最典型的应用就是登录过程.在非常多应用程序的模块中,都有"我的"这个模块,在未登录 ...

  7. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    一.上传文件 上传一个图片 使用input type="file",来上传一个文件.注意:form表单必须添加属性enctype="multipart/form-data ...

  8. [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

    写在前面 最近又开始忙了,工期紧比较赶,另外明天又要去驾校,只能一个功能一个功能的添加了,也许每次完成的功能确实不算什么,等将功能都实现了,然后在找一个好点的ui对前端重构一下. 系列文章 [EF]v ...

  9. html5 上传头像示例及其注意事项

    转自[B5教程网]:http://www.bcty365.com/content-142-5244-1.html 这次分享一个简易的上传头像示例,其大致流程为: 一.将选择的图片转为base64字符串 ...

随机推荐

  1. Mariadb修改root密码

    默认情况下,新安装的 mariadb 的密码为空,在shell终端直接输入 mysql 就能登陆数据库. 如果是刚安装第一次使用,请使用 mysql_secure_installation 命令初始化 ...

  2. Flink部署-standalone模式

    Flink部署-standalone模式 2018年11月30日 00:07:41 Xlucas 阅读数:74   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  3. 「LibreOJ NOI Round #1」验题

    麻烦的动态DP写了2天 简化题意:给树,求比给定独立集字典序大k的独立集是哪一个 主要思路: k排名都是类似二分的按位确定过程. 字典序比较本质是LCP下一位,故枚举LCP,看多出来了多少个独立集,然 ...

  4. HTML编辑器KindEditor

    KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本 ...

  5. 使用Eclipse创建动态的web工程

    使用Eclipse创建动态的web工程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.修改工作区的编码 1>.点击Window选择Preferences 2>.将默 ...

  6. Geometric regularity criterion for NSE: the cross product of velocity and vorticity 4: $u\cdot \om$

    在 [Berselli, Luigi C.; Córdoba, Diego. On the regularity of the solutions to the 3D Navier-Stokes eq ...

  7. python的os.system函数的应用

    os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数执行时,其会创建一个子进程在系统上执行命令行,子进程的执行结果无法影响主进程 上述原理会导致 ...

  8. tcp协议的简单理解

    tpc协议属于传输层协议,本篇主要介绍下几个概念,以及握手和挥手的过程. 1.tcp的几个概念 位码:即tcp标志位,有6种提示 SYN:synchronus,表示建立联机. ACK:acknowle ...

  9. js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)

    javascript是单线程,一切javascript版的"多线程"都是用单线程模拟出来的,通过事件循环(event loop)实现的异步. javascript事件循环 事件循环 ...

  10. js高级知识---词法分析和AO 链

    转载自https://www.cnblogs.com/OceanHeaven/p/4957704.html 上面一篇文章说了js的作用域链,这一节算是对上面的延申,有一个典型的例子,首先看原来的一段代 ...