fullavatareditor java上传_fullAvatarEditor富头像上传编辑器

富头像编辑器是一款支持本地上传、预览、视频拍照和网络加载的flash头像编辑上传插件,能够对图片进行缩放、裁剪、旋转、定位和调色调节亮度等简单处理;富头像编辑器拥有很的参数配置,可根据自己的需要配置控件的功能;该控件要求浏览器需安装Flash Player后才能使用;下面是我做的一个小的Demo以说明富头像编辑器的使用方法。

小巧的身材:文件大小仅仅只有 48 KB,而新浪的头像编辑器组件有 58.1 KB,更有甚者达 80 KB 之多以上。漂亮的外观:灰色系的外观设计,适用于所有风格的站点。还可轻松地实现换肤。强大的功能:原图支持本地上传、视频拍照和网络加载,图片编辑有缩放、裁剪、旋转、定位和调色等功能。丰富的接口:可自定义头像(大小、数目...)、所有文本(包括其字体,大小,颜色,方便扩展多语言站点)、可在外部接口中定义选项卡、按钮...跨平台兼容:运行环境Flash Player 10.1+,任何浏览器 IE All、Firefox、 Chrome、Opera...都正常使用。极致的体验:人性化的设计方式,细节上精心的处理,用户使用起来得心应手。

1.前台页面

需引用js文件和初始化富头像编辑器,脚本代码如下:

Simple demo

富头像上传编辑器演示

本组件需要安装Flash Player后才可使用,请从

这里

下载安装。

@* 自定义上传按钮*@

//控件参数参考:http://www.fullavatareditor.com/api.html#usage

swfobject.addDomLoadEvent(function () {

var swf = new fullAvatarEditor("swfContainer", {

id: 'swf',

upload_url: '/Home/UploadAction',

// src_url: "/samplePictures/Default.jpg",//默认加载的原图片的url

src_upload: 2,//默认为0;是否上传原图片的选项,有以下值:0:不上传;1:上传;2 :显示复选框由用户选择

isShowUploadResultIcon: false,//在上传完成时(无论成功和失败),是否显示表示上传结果的图标

src_size: "2MB",//选择的本地图片文件所允许的最大值,必须带单位,如888Byte,88KB,8MB

src_size_over_limit: "文件大小超出2MB,请重新选择图片。",//当选择的原图片文件的大小超出指定最大值时的提示文本。可使用占位符{0}表示选择的原图片文件的大小。

src_box_width: "300",//原图编辑框的宽度

src_box_height: "300",//原图编辑框的高度

tab_visible: false,//是否显示选项卡*

browse_box_width: "300",//图片选择框的宽度

browse_box_height: "300",//图片选择框的高度

avatar_sizes: "200*200",//100*100|50*50|32*32,表示一组或多组头像的尺寸。其间用"|"号分隔。

}, function (msg) {

switch (msg.code) {

// case 1: alert("页面成功加载了组件!"); break;

// case 2: alert("已成功加载默认指定的图片到编辑面板。"); break;

case 3:

if (msg.type == 0) {

alert("摄像头已准备就绪且用户已允许使用。");

}

else if (msg.type == 1) {

alert("摄像头已准备就绪但用户未允许使用!");

}

else {

alert("摄像头被占用!");

}

break;

case 5:

if (msg.type == 0) {

if (msg.content.sourceUrl) {

alert("原图片已成功保存至服务器,url为:\n" + msg.content.sourceUrl);

}

alert("头像已成功保存至服务器,url为:\n" + msg.content.avatarUrls.join("\n"));

}

break;

}

}

);

document.getElementById("upload").onclick = function () {

swf.call("upload");

};

});

2.后台代码

后台是对提交过来的文件进行保存处理并返回相应的结果,代码如下:

public ActionResult UploadAction()

{

Result result = new Result();

result.avatarUrls = new ArrayList();

result.success = false;

result.msg = "Failure!";

//取服务器时间+8位随机码作为部分文件名,确保文件名无重复。

string fileName = DateTime.Now.ToString("yyyyMMddhhmmssff") + HelpClass.CreateRandomCode(8);

//定义一个变量用以储存当前头像的序号

int avatarNumber = 1;

//遍历所有文件域

foreach (string fieldName in Request.Files.AllKeys)

{

HttpPostedFileBase file = Request.Files[fieldName];

//原始图片(file 域的名称:__source,如果客户端定义可以上传的话,可在此处理)。

if (fieldName == "__source")

{

result.sourceUrl = string.Format("/upload/csharp_source_{0}.jpg", fileName);

file.SaveAs(Server.MapPath(result.sourceUrl));

}

//头像图片(file 域的名称:__avatar1,2,3...)。

else

{

string virtualPath = string.Format("/upload/csharp_avatar{0}_{1}.jpg", avatarNumber, fileName);

result.avatarUrls.Add(virtualPath);

file.SaveAs(Server.MapPath(virtualPath));

avatarNumber++;

}

}

result.success = true;

result.msg = "Success!";

//返回图片的保存结果(返回内容为json字符串,可自行构造,该处使用Newtonsoft.Json构造)

// Response.Write(JsonConvert.SerializeObject(result));

return Json(result);

}

接收参数的一个类:

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Web;

namespace MvcApplication1.Models

{

public class Result

{

///

/// 表示图片是否已上传成功。

///

public bool success;

///

/// 自定义的附加消息。

///

public string msg;

///

/// 表示原始图片的保存地址。

///

public string sourceUrl;

///

/// 表示所有头像图片的保存地址,该变量为一个数组。

///

public ArrayList avatarUrls;

}

public class HelpClass

{

///

/// 生成指定长度的随机码。

///

public static string CreateRandomCode(int length)

{

string[] codes = new string[36] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };

StringBuilder randomCode = new StringBuilder();

Random rand = new Random();

for (int i = 0; i < length; i++)

{

randomCode.Append(codes[rand.Next(codes.Length)]);

}

return randomCode.ToString();

}

}

}

3.下面是运行后的效果图

f6615d4e7075a857a7899a16e2c725ba.png

746b2dbad8f109bb03de46ef2de1bc5a.png

头像上传编辑器是一款支持本地上传、预览、视频拍照和网络加载的flash头像编辑上传插件,可缩放、裁剪、旋转、定位和调色等... 小巧的身材:文件大小仅仅只有 50 KB,而新浪的头像编辑器组件有 58.1 KB,更有甚者达 80 KB 之多以上。 漂亮的外观:灰色系的外观设计,适用于所有风格的站点。还可轻松地实现换肤。 强大的功能:原图支持本地上传、视频拍照和网络加载,图片编辑有缩放、裁剪、旋转、定位和调色等功能。 丰的接口:可自定义头像(大小、数目...)、所有文本(包括其字体,大小,颜色,方便扩展多语言站点)、可在外部接口中定义选项卡、按钮... 跨平台兼容:运行环境Flash Player 10.1+,任何浏览器 IE All、Firefox、 Chrome、Opera...都正常使用。 极致的体验:人性化的设计方式,细节上精心的处理,用户使用起来得心应手。 在线演示:http://www.fullAvatarEditor.com/demo.html 当前版本:2.3 更新内容: → 修复头像与实际选取区域偏移 1 像素的BUG; 修复默认加载的原图如果有定位数据时图片不显示的BUG。 → 发布时间:2015-04-22 历史版本: v2.2: 修复上传的原始图片没有扩展名的Bug。 发布时间:2015-01-13 v2.1: 新增上传提交方式的参数:method(值为 get 或 post); 修善构造函数可定义主swf(FullAvatarEditor.swf)和快速安装flash的swf(expressInstall.swf)的路径。 发布时间:2014-12-10 v2.0:新增在上传完成时(无论成功和失败),是否显示表示上传结果图标的参数:isShowUploadResultIcon; 新增可自定义原图和头像表单域名称的参数:src_field_name 和 avatar_field_names。 发布时间:2014-04-15 v1.9:修复了原图url中带旋转参数时,另外的上传/加载图片会沿用当前旋转值的错误; 视图参数(__initParams)新增选取框尺寸参数,至此视图已臻佳境。 发布时间:2014-02-25 v1.8:将追加到上传接口url后的参数的提交方式更改为POST,避免参数中含有特殊字符(如base64中的+号)时产生错误。如果之前的版本中有传递额外的参数到上传接口的,更新此版本后请自行修改接口文件中获取参数的方式。如:php的$_GET["x"]换成$_POST["x"]。 修复了将头像颜色调整工具隐藏(avatar_tools_visible=false)时,部分版本的 Flash Player 产生异常的错误。 修复了部分奇葩的图片在编码时产生异常的错误。 发布时间:2014-02-24 v1.7:修复了当加载的原图url中带视图参数(__initParams)时,旋转值未正确初始化的错误; 优化了生成头像的速度。 发布时间:2014-01-03 v1.6:修复了后台只能获取upload_url(上传图片的接口)中首个参数的问题。 提升了生成的头像图片的质量。 发布时间:2013-12-31 v1.5:新增头像保存时的缩放系数(需求大尺寸头像而又不想被其破坏页面布局时很有用); 新增基于原图的初始化参数InitParams(表单字段,用于修改头像时保证视图跟保存头像时一致,帮助提升用户体验)。 发布日期:2013-12-15 v1.4:修复了上传原图时如果是使用摄像头拍照的方式而得到的原图并非来自摄像头的错误。 发布日期:2013-11-13 v1.3:修复头像颜色调整未渲染到生成的图片的bug;新增生成的图片的质量控制参数 quality。 发布日期:2013-11-05 v1.2:新增是否显示头像颜色调整工具的参数 avatar_tools_visible。 发布日期:2013-10-21 v1.1:将各矩形框的参数独立出来,更加方便外观的表现。 发布日期:2013-10-04 v1.0:发布日期:2013-10-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值