富头像上传编辑器----很好用的上传照片和拍照功能

富头像编辑器是一个很好的头像图片上传控件,能够对图片进行简单的处理,例如:剪切、调节亮度等功能;富头像编辑器拥有很的参数配置,可根据自己的需要配置控件的功能;该控件要求浏览器需安装Flash Player后才能使用;下面是我做的一个小的Demo以说明富头像编辑器的使用方法。

1.前台页面

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

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Simple demo</title>
    <script src="~/Scripts/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" src="/swfobject/swfobject.js"></script>
    <script type="text/javascript" src="/swfobject/fullAvatarEditor.js"></script>
</head>
<body>
    <div style="width: 800px; margin: 0 auto;">
        <h1 style="text-align: center">富头像上传编辑器演示</h1>
        <div>
            <p id="swfContainer">
                本组件需要安装Flash Player后才可使用,请从
                    <a href="http://www.adobe.com/go/getflashplayer">这里</a>
                下载安装。
            </p>
        </div>
        @* <button type="button" id="upload">自定义上传按钮</button>*@
    </div>
    <script type="text/javascript">
        //控件参数参考: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");
            };
        });
    </script>
</body>
</html>

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
{
/// <summary>
/// 表示图片是否已上传成功。
/// </summary>
public bool success;
/// <summary>
/// 自定义的附加消息。
/// </summary>
public string msg;
/// <summary>
/// 表示原始图片的保存地址。
/// </summary>
public string sourceUrl;
/// <summary>
/// 表示所有头像图片的保存地址,该变量为一个数组。
/// </summary>
public ArrayList avatarUrls;
}

public class HelpClass
{
/// <summary>
/// 生成指定长度的随机码。
/// </summary>
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.下面是运行后的效果图

age

时间: 2024-12-12 00:20:21

富头像上传编辑器----很好用的上传照片和拍照功能的相关文章

好久没更新了,上几张图(LINUX的茄子拍的,---win7下拍照功能很久没能正常使用了!---觉得还不错就上传了,还望有不嫌)

web开发经验——富头像上传编辑器的使用

富头像编辑器是一个很好的头像图片上传控件,能够对图片进行简单的处理,例如:剪切.调节亮度等功能:富头像编辑器拥有很的参数配置,可根据自己的需要配置控件的功能:该控件要求浏览器需安装Flash Player后才能使用:下面是我做的一个小的Demo以说明富头像编辑器的使用方法. 1.前台页面 需引用js文件和初始化富头像编辑器,脚本代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /

富头像上传编辑器文档(from www.sysoft.cc)

调用方法 new fullAvatarEditor(swfContainerID, [height], [width], flashvars, [callback]); 返回值:object,该对象可调用call方法,请参见 call方法. swfContainerID 用以包裹Flash的HTML元素的ID. height Flash的高度,默认为 600. width Flash的宽度,默认为 630. flashvars 配置参数 名称 类型 默认值 描述 id String fullAv

Yii2.0 集成使用富头像上传编辑器

在开发过程中,我们会用到头像上传的功能.这里给大家推荐一款比较流行的头像上传组件,FullAvatarEditor 2.3(富头像上传编辑器). 实际效果如图所示: 1.下载组件,下载地址:http://www.fullavatareditor.com/download.html: 2.在所需页面上导入相关js文件: <script type="text/javascript" src="FullAvatarEditor2.3/scripts/swfobject.js&

vue项目富文本编辑器vue-quill-editor之自定义图片上传

使用富文本编辑器的第一步肯定是先安装依赖 npm i vue-quill-editor 1.如果按照官网富文本编辑器中的图片上传是将图片转为base64格式的,如果需要上传图片到自己的服务器,需要修改配置. 创建一个quill-config.js的文件,里面写自定义图片上传.代码如下 /*富文本编辑图片上传配置*/ const uploadConfig = { action: '', // 必填参数 图片上传地址 methods: 'POST', // 必填参数 图片上传方式 token: ''

教你如何调用百度编辑器ueditor的上传图片、上传文件等模块

出于兴趣爱好,前段时间自己尝试写了一个叫simple的cms,里面使用了百度ueditor编辑器,发现它的多图片上传模块很不错,用起来很方便,又可以选择已经上传好的图片.正好我又是个懒人,发现有现成的自己就不想新开发了.于是我就想,是不是可以调用这个上传模板为自己所用呢? 有了这个想法后,我就到网上查阅资料,可惜资料少的可怜,都不能很好解决我的问题.于是觉得还是自己动手丰衣足食,皇天不负苦心人,终于摸索出解决方法,现在分享出来,和自己有同样想法的小伙伴. 代码如下: <html> <he

rails使用bootstrap3-wysiwyg可视化编辑器并实现自定义图片上传插入功能

之前在rails开发中使用了ckeditor作为可视化编辑器,不过感觉ckeditor过于庞大,有很多不需要的功能,而且图片上传功能不好控制不同用户可以互相删除图片,感觉很不好.于是考虑更改可视化编辑器,多方考虑选择了bootstrap3-wysiwyg,但是这个编辑器无法实现图片上传功能,还有换行使用br而不是p标签不是很好.于是考虑自定义完善其功能. 个人原创,版权所有,转载请注明原文出处,并保留原文链接: https://www.embbnux.com/2015/03/17/rails_u

在线HTML文档编辑器使用入门之图片上传与图片管理的实现

1 在线HTML文档编辑器使用入门之图片上传与图片管理的实现: 2 官方网址: http://kindeditor.net/demo.php 3 开发步骤: 4 1.开发中只需要导入选中的文件(通常在 webapp 下,建立 editor 文件夹 ) 5 导入:lang.plugins.themes.kindeditor.js/kindeditor-min.js-->放在editor文件夹下 6 2.在页面上引入相关的js&css文件 7 <!-- 导入Kindeditor相关文件 -

java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了

原文:java实现的图片缩放 压缩 裁剪工具!找了很久,市面上再也找不到比它缩放效果还好的代码了 源代码下载地址:http://www.zuidaima.com/share/1550463380458496.htm 纯 java 实现的 图片缩放 压缩 裁剪工具!不依赖任何第三方 jar 包 1. 找了很久,市面上再也找不到比它缩放效果还好的代码了 (再不使用任何第三方组件的前提下) 2. 支持缩放 3. 支持剪切 (例如:用户上传头像后剪切成正方形小图) /* * Copyright 2012