今天介绍的这款flash上传头像功能非常强大,支持php,asp,jsp,asp.net 调用 头像剪裁,预览组件插件。 本组件需要安装Flash Player后才可使用,请从http://dl.pconline.com.cn/html_2/1/114/id=8122&pn=0.html" target='_blank'>这里下载安装。

程序员,你不是一个人;网站开发QQ群:35291327 在线充值,或联系QQ416148489直接充值

分类:图片代码 > 缩略图 难易:中级
查看演示 下载资源: 3229下载资源 下载积分: 26 积分

该flash头像上传插件受众多开发人员好评的优秀,具有以下优势:

<ul class="ul_demo"> <li>上传并预览,用户可以任意选择区域,支持头像旋转</li> <li>支持上传成功,js 回调函数</li> <li>无论图片过大还是过小,都可以按照固定大小显示</li> <li>支持亮度,对比度,饱和度修饰</li> <li>支持头像拍照保存</li> <li>支持php,asp,jsp,asp.net 调用</li> <li>兼容性好,任何浏览器 IE10, IE9, IE8, IE7 IE 6 ,firefox, chrome 都正常使用 </li>

HTML

首先我们在页面上定义了一个隐藏的上传按钮。为什么要隐藏呢?这是为了保证图片成功加载到编辑面板。

<button type="button" id="upload" style="display:none;margin-top:8px;"> 
  swf外定义的上传按钮,点击可执行上传保存操作 
</button>

接着我们要载入jQuery库和flash需要的组件。

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="scripts/swfobject.js"></script> 
<script type="text/javascript" src="scripts/fullAvatarEditor.js"></script>

最后我们看下头像上传的调用方法,说明都已经写在以下代码里。

swfobject.addDomLoadEvent(function() { 
    //以下两行代码正式环境下请删除 
    if (location.href.indexOf('http://') == -1) alert('请于WEB服务器环境中查看、测试!\n\n既 http://*/simpleDemo.html\n\n而不是本地路径 file:///*/simpleDemo.html的方式'); 
    var swf = new fullAvatarEditor("fullAvatarEditor.swf", "expressInstall.swf", "swfContainer", { 
        id: 'swf', 
        upload_url: 'upload.php?userid=999&username=looselive',//上传头像地址和参数 
        method: 'post',//传递到上传接口中的查询参数的提交方式。更改该值时,请注意更改上传接口中的查询参数的接收方式 
        src_upload: 2,//是否上传原图片的选项,有以下值:0-不上传;1-上传;2-显示复选框由用户选择 
        avatar_box_border_width: 0, 
        avatar_sizes: '100*100|50*50|32*32', 
        avatar_sizes_desc: '100*100像素|50*50像素|32*32像素' 
    }, 
    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 { 
                    alert("头像已成功保存至服务器,url为:\n" + msg.content.avatarUrls.join("\n\n") + "\n\n传递的userid=" + msg.content.userid + "&username=" + msg.content.username); 
                } 
            } 
            break; 
        } 
    }); 
    document.getElementById("upload").onclick = function() { 
        swf.call("upload"); 
    }; 
});

PHP

本文以PHP上传为例,我们把头像上传到upload文件夹,并且上传后生成了三张头像缩略图。

$dir = "upload"; 
// 取服务器时间+8位随机码作为部分文件名,确保文件名无重复。 
$filename = date("YmdHis") . '_' . floor(microtime() * 1000) . '_' . createRandomCode(8); 
// 处理原始图片开始------------------------------------------------------------------------> 
//默认的 file 域名称是__source,可在插件配置参数中自定义。参数名:src_field_name 
$source_pic = $_FILES["__source"]; 
//如果在插件中定义可以上传原始图片的话,可在此处理,否则可以忽略。 
if ($source_pic) { 
    if ($source_pic['error'] > 0) { 
        $msg .= $source_pic['error']; 
    } else { 
        //原始图片的文件名,如果是本地或网络图片为原始文件名、如果是摄像头拍照则为 *FromWebcam.jpg 
        $sourceFileName = $source_pic["name"]; 
        //原始文件的扩展名(不包含“.”) 
        $sourceExtendName = substr($sourceFileName, strripos($sourceFileName, ".")); 
        //保存路径 
        $savePath = "$dir\php_source_$filename." . $sourceExtendName; 
        //当前头像基于原图的初始化参数(只有上传原图时才会发送该数据,且发送的方式为POST),用于修改头像时保证界面的视图跟保存头像时一致,提升用户体验度。 
        //修改头像时设置默认加载的原图url为当前原图url+该参数即可,可直接附加到原图url中储存,不影响图片呈现。 
        $init_params = $_POST["__initParams"]; 
        $result['sourceUrl'] = toVirtualPath($savePath) . $init_params; 
        move_uploaded_file($source_pic["tmp_name"], $savePath); 
        $success_num++; 
    } 
}

后台处理缩略图在这里就不细说了,请下载压缩文件查看。有兴趣的朋友可以再看看<a href='http://www.sucaihuo.com/js/3.html' target='_blank'> PHP+jQuery+Ajax多图片上传</a>。

强大的flash头像上传插件(支持旋转、拖拽、剪裁、生成缩略图等)的更多相关文章

  1. php+flash头像上传组件

    有会员系统的站点一般都会有一个头像上传组件,一般做的最简单的是 这样的方式长处是代码写的简单,仅仅要推断图片大小和类型,然后更新数据库.可是用户体验不高.并且站点其它页面假设要使用较小的20X20或1 ...

  2. php头像上传插件

    最近找到了一个比较简单实用的php头像上传插件,兼容IE8及以上等主流浏览器,分享给大家.效果如下: 1.首页效果图:默认显示默认图片. 2.点击图片(拥有裁剪框,可以拖动.缩放.裁剪头像等功能,注意 ...

  3. h5图片上传预览与拖拽上传

    图片上传: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  4. jQuery文件上传插件jQuery Upload File 有上传进度条

    jQuery文件上传插件jQuery Upload File 有上传进度条 jQuery文件上传插件jQuery Upload File,插件使用简单,支持单文件和多文件上传,支持文件拖拽上传,有进度 ...

  5. Plupload上传插件简单整理

    Plupload Plupload是有TinyMCE的开发者开发的,为您的内容管理系统或是类似上传程序提供一个高度可用的上传插件.Plupload 目前分为一个核心API 和一个jQuery上传队列部 ...

  6. Plupload上传插件中文帮助文档

    Plupload上传插件中文帮助文档 配置参数 实例化一个plupload对象时,也就是 new plupload.Uploader(),需要传入一个对象作为配置参数.后面内容中出现的plupload ...

  7. Plupload上传插件中文文档

    Plupload上传插件中文帮助文档 如有疑问,加群交流:646104701 下载地址:https://www.plupload.com/download/ 配置参数 实例化一个plupload对象时 ...

  8. 可拖拽和带预览图的jQuery文件上传插件ssi-uploader

    插件描述:ssi-uploader是一款带预览图并且可以拖拽文件的jQuery ajax文件上传插件.该文件上传插件支持AJAX,支持多文件上传,可控制上的文件格式和文件大小,提供各种回调函数,使用非 ...

  9. 【React踩坑记四】React项目中引入并使用js-xlsx上传插件(结合antdesign的上传组件)

    最近有一个前端上传并解析excel/csv表格数据的需求. 于是在github上找到一个14K star的前端解析插件 github传送门 官方也有,奈何实在太过于浅薄.于是做了以下整理,避免道友们少 ...

随机推荐

  1. What is Away3D

    做了几个基于Flash平台的3D的项目,一路走来收获颇多.Away3D作为一个开源的Flash3D引擎,在3D页游领域,无疑是当前OGRE在国内的地位. 翻译出了多年前做Away3D中国社区的时候翻译 ...

  2. Spring集成MyBatis

    本文原创,原文地址为http://www.cnblogs.com/fengzheng/p/5045105.html 如果觉得Hibernate不够灵活,可以尝试用Mybatis.相比于Hibernat ...

  3. [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作

    从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...

  4. 阿里云 SDK python3支持

    最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见h ...

  5. 初学者--bootstrap(六)组件中的字体图标----在路上(9)

    组件---字体图标 无数可复用的组件,包括字体图标.下拉菜单.导航.警告框.弹出框等更多功能. 1.如何使用:        出于性能的考虑,所有图标都需要一个基类和对应每个图标的类.把下面的代码放在 ...

  6. bootstrap表格

    Bootstrap 实例 - 边框表格 < 建立日期 2015-5-27 录入人员 test1 处理人员 test2 问题报障人   部门/城市公司   联系电话   问题类型   处理状态   ...

  7. ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

    一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...

  8. 【NLP】大数据之行,始于足下:谈谈语料库知多少

    大数据之行,始于足下:谈谈语料库知多少 作者:白宁超 2016年7月20日13:47:51 摘要:大数据发展的基石就是数据量的指数增加,无论是数据挖掘.文本处理.自然语言处理还是机器模型的构建,大多都 ...

  9. CSS3属性 box-shadow 向框添加一个或多个阴影

    CSS3属性 利用box-shadow制作网页页眉背景 box-shadow 浏览器支持 IE9+.Firefox 4.Chrome.Opera 以及 Safari 5.1.1 支持 box-shad ...

  10. ASP.NET Core 中文文档 第四章 MVC(3.1)视图概述

    原文:Views Overview 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:高嵩(Jack) ASP.NET MVC Core 的控制器可以利用 视图 返回格式化结果. 什么 ...