博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Yii2.0 集成使用富头像上传编辑器
阅读量:5194 次
发布时间:2019-06-13

本文共 2061 字,大约阅读时间需要 6 分钟。

在开发过程中,我们会用到头像上传的功能。这里给大家推荐一款比较流行的头像上传组件,FullAvatarEditor 2.3(富头像上传编辑器)。

实际效果如图所示:

 

 

1.下载组件,下载地址:;

2.在所需页面上导入相关js文件:

<script type="text/javascript" src="FullAvatarEditor2.3/scripts/swfobject.js"></script>

<script type="text/javascript" src="FullAvatarEditor2.3/scripts/fullAvatarEditor.js"></script>

3.在页面上需要一个ID唯一的标签,<p>、<div>都可以:

   <div>

    <p id="swfContainer">本组件需要安装Flash Player后才可使用,请从<a href="">这里</a>下载安装。</p>
   </div>

4.在页面嵌入如下代码:(注意fullAvatarEditor.swf与expressInstall.swf的路径问题)

<script type="text/javascript">

   swfobject.addDomLoadEvent(function () {
      var swf = new fullAvatarEditor("FullAvatarEditor2.3/fullAvatarEditor.swf", "FullAvatarEditor2.3/expressInstall.swf", "swfContainer", {
      id : 'swf',
      upload_url : 'FullAvatarEditor2.3/php/upload.php',   //上传文件接口(可以带url参数)
      method : 'post',    //传递到上传接口中的查询参数的提交方式。更改该值时,请注意更改上传接口中的查询参数的接收方式
      src_upload : 0,    //是否上传原图片的选项,有以下值:0-不上传;1-上传;2-显示复选框由用户选择
      avatar_box_border_width : 0,
      avatar_sizes : '200*200|50*50',    // 自定义头像尺寸
      avatar_sizes_desc : '200*200像素|50*50像素'   // 与上联合起来使用 
     }, function (msg){ // 回调函数
      switch(msg.code)
      {
       //case 1 : alert("页面成功加载了组件!");break;
       //case 2 : 
        //alert("已成功加载图片到编辑面板。");
        //document.getElementById("upload").style.display = "inline";
        //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+"\n\n" + "头像已成功保存至服务器,url为:\n" + msg.content.avatarUrls.join("\n\n")+"\n\n传递的userid="+msg.content.userid+"&username="+msg.content.username);
         }
         else
         {

          // 上传成功后ajax提交到服务器处理头像信息写入对应数据库中

          $.ajax({
            type:'POST',
            url:'<?php echo Url::to(['sys-admin-info/save-avatar'])?>',
            data:{avatarData:msg.content.avatarUrls}, // 包含头像的路径信息,数组形式
            dataType:'json',
            success:function(result){
               if(result.success){
               $.messager.alert('提示',result.message);
            }else{
               $.messager.alert('错误',result.message);
            }
            }
          });
         }
        }
       break;
      }
     }
    );
    };
            });
        </script>

转载于:https://www.cnblogs.com/itsharehome/p/4719969.html

你可能感兴趣的文章
double 四舍五入三位
查看>>
js:语言精髓笔记3----语句
查看>>
C#实现二叉查找树
查看>>
Git的Patch功能
查看>>
魔术师发牌问题(循环链表的应用)【代码】
查看>>
mfc Edit控件属性
查看>>
你写程序再牛,也未必懂我写的文章!
查看>>
10.10 review
查看>>
Nodejs-非阻塞I/O&事件驱动
查看>>
ThreadPoolExecutor分析
查看>>
八张图读懂未来“互联网+”的六大趋势
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>
[Linux]PHP-FPM与NGINX的两种通讯方式
查看>>
Java实现二分查找
查看>>
优秀员工一定要升职吗
查看>>
[LintCode] 462 Total Occurrence of Target
查看>>
K8s helm 创建自定义Chart
查看>>
svn和网站同步解决方案
查看>>
Redis 经验谈
查看>>
每日练习level-7
查看>>