移动端 上传头像 并裁剪功能(h5)



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
<title>移动端头像图片上传裁剪</title>

<script src="js/mavatar.js"></script>

<style>
.button {
  outline: 0;
  display: inline-block;
  margin-bottom: 0;
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  line-height: 1.5;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 6px 15px;
  font-size: 12px;
  border-radius: 4px;
  transition: color .2s linear,background-color .2s linear,border .2s linear,box-shadow .2s linear;
  color: #495060;
  background-color: #f7f7f7;
  border-color: #dddee1;
}
.button-info {
  color: #fff;
  background-color: #2db7f5;
  border-color: #2db7f5;
}
.avatarbox {width: 200px; margin: 0 auto}
#avatar{width: 200px;}
.botton-box{width: 140px; margin: 0 auto; margin-top: 20px}
</style>

</head>

<body style="background-color:#fafafa">

<div class="avatarbox" >
  <div id="avatar"></div>
  <div class="botton-box">
    <button onClick="clip()" class="button button-info" style="float: left">裁剪</button>
    <button onClick="reset()" class="button" style="float: right">重置</button>
  </div>
</div>

<script>
  var avatar = new Mavatar({el: ‘#avatar‘,backgroundColor: ‘#fff‘, fileOnchange: function (e) {
      console.log(e)
    }});
  function clip() {
    avatar.imageClipper(function (data) {
      alert(‘裁剪成功,生成的图片已覆盖在上传框内‘);
      console.log(data);
      //  将图片上传至后台
      avatar.upload({
        url: ‘https://www.baidu.com/‘,
        name: ‘avatar‘,
        data: {userName: ‘hzy0913‘, info: ‘someInfo‘},
        success: function (data) {
          console.log(data)
        },
        error: function (error) {
          console.log(error)
        },
      });
    })
  }
  function reset() {
    avatar.resetImage();
  }
  //获取上传前信息
  function getInfo() {
    var fileInfo = avatar.getfileInfo();
    console.log(fileInfo);
  }
  //获取base64
  function getdata() {
    var urldata = avatar.getDataUrl();
    console.log(urldata);
  }
</script>

</body>
</html>

js 地址   https://github.com/Clearlovesky/uploadTouXiang/tree/master/js

原文地址:https://www.cnblogs.com/520BigBear/p/10288348.html

时间: 2024-07-31 08:42:22

移动端 上传头像 并裁剪功能(h5)的相关文章

asp.net mvc上传头像加剪裁功能

正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery.Jcrop 后台是asp.net mvc 4 核心的js调用代码是crop.js和helper文件夹下的ImgHandler.cs 效果图 前台代码 <link href="~/Content/fineuploader.css" rel="stylesheet" /> <link href=

asp.net mvc上传头像加剪裁功能介绍

正好项目用到上传+剪裁功能,发上来便于以后使用. 我不能告诉你们其实是从博客园扒的前台代码,哈哈. 前端是jquery+fineuploader+jquery.Jcrop 后台是asp.net mvc 4 核心的js调用代码是crop.js和helper文件夹下的ImgHandler.cs 效果图 前台代码 <link href="~/Content/fineuploader.css" rel="stylesheet" /><link href=&

WebAPI实现移动端上传头像接口

测试时可以直接使用PostMan模拟发送请求 /// <summary> /// 手机端上传头像接口 /// </summary> /// <param name="LoginToken"></param> /// <param name="Base64String"></param> /// <returns></returns> [HttpPost] public a

上传头像裁剪功能

我之前做项目的时候有需求是需要实现上传头像裁剪再上传到服务器,所以上网看了一下别人写的案例.方法.文章,浪费了1天的时间,最后才跌跌碰碰的终于写了出来. 现在给大家分享一下吧. 所用到的js文件 cropper.min.js, canvas-to-blob.js(这个是IE上需要用到的,不然会不支持转blob) jquery.min.js, bootstrap.min.js ajaxfileupload.js css文件 cropper.min.css,bootstrap.min.css htm

file API+JCrop 选择、裁剪并上传头像

file API,直接读取本地文件,绕过了后台处理再返回前台的过程,使编程更简单.fileAPI和JCrop的结合使用上传头像. 1.html部分 <input id="demo" type="file" onchange="showPic();"/> <img id="avatar" src=""> 2.fileAPI预览图片(jquery) <script type=&qu

Jcrop+uploadify+php实现上传头像预览裁剪

最近由于项目需要,所以做了一个上传头像预览并且可以预览裁剪的功能,大概思路是上传的图片先保存到服务器,然后通过ajax从服务器获取到图片信息,再利用Jcrop插件进行裁剪,之后通过PHP获取到的四个裁切点的坐标进行裁剪. 首先看一下uploadify上传插件的API: uploader : uploadify.swf 文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后淡出打开文件对话框,默认值:uploadify.swf.script :   后台处理程序的相对路径 .默认值:

php实现手机拍照上传头像功能

现在手机拍照很火,那么如何使用手机拍照并上传头像呢?原因很简单,就是数据传递,首先手机传递照片信息,这个就不是post传递 也不是get函数传递, 这个另外一种数据格式传递,使用的是$GLOBALS ['HTTP_RAW_POST_DATA'],这个系统函数跟post很相似,但是$GLOBALS ['HTTP_RAW_POST_DATA']支持的数据格式更丰富些,详细的区别请自己百度谷歌. 设计流程就是: $GLOBALS ['HTTP_RAW_POST_DATA']传递照片数据流(二进制)--

Flask blog实战---上传头像功能

第一步:数据库的表单中新增用户头像这一字段models.py中 第二步:在编辑资料的表单中增加头像上传, avatar = FileField('头像') 第三步:在编辑资料的路由界面,添加用户提交头像的功能,参考博客 http://ncitycode.com/python/flask/2016/6/18/ UPLOAD_FOLDER = current_app.config['UPLOAD_FOLDER'] 这里我在config.py中设置的文件上传路径为 将数据库中头像存储的路径修改为 到这

完美实现类似QQ的自拍头像、上传头像功能!(Demo 源码)

现在很多下载客户端程序都需要设定自己头像的功能,而设定头像一般有两种方式:使用摄像头自拍头像,或者选择一个图片的某部分区域作为自己的头像. 一.相关技术 若要实现上述的自拍头像和上传头像的功能,会碰到以下要解决的问题: (1)调用摄像头,捕获摄像头采集的视频,并将采集的视频绘制到UI上. (2)从图片文件读取Image,并显示在控件上(这个相当easy). (3)在显示的视频或图片上,能够拖动一个正方形,以选择指定部分的区域作为自己的头像. (4)从视频中截获一帧保存为图片. (5)从图片中截取