flash上传头像,截取图像 组件演示

效果图如下:

flash上传头像,截取图像 组件演示

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}"); %>

  

上一篇:c/c++编译和链接过程


下一篇:getContext在谷歌浏览器中,使用时要先加载canvas对象,否则会提示'getContext is null'