美文网首页
上传头像插件megapix-image.js

上传头像插件megapix-image.js

作者: 恒不动 | 来源:发表于2017-09-14 16:34 被阅读0次

github下载地址点我

demo

<input type="file" name="imgFile" id="topFile" accept="image/gif,image/jpeg,image/jpg,image/png">
<script type="text/javascript">
$(function() {
     //检测手机系统
    var ua = navigator.userAgent.toLowerCase(); 
    if (/android/.test(ua)) { 
            $("#topFile").attr("capture", "camera");    
    }
    $("#topFile").change(function() {
        if (this.files && this.files[0]) {
            var file = this.files[0];
            var mpImg = new MegaPixImage(file);
            var resImg = document.getElementById('topPhoto');
            resImg.onload=function(){
                if(resImg.src.indexOf("data:")==0){
                   var imgBase64=resImg.src;
                   sumitImageFile(imgBase64);
                }
            };
            mpImg.render(resImg, { maxWidth: 500, maxHeight: 500, quality: 0.5 });
        }
    });
});
/**
 * ajax上传头像
 */
function sumitImageFile(base64Codes){  
    var formData = new FormData();
    formData.append("photofile",convertBase64UrlToBlob(base64Codes));
    $.ajax({  
        url :  "",  
        type : "POST",  
        data : formData,  
        dataType:"json",  
        processData : false,
        contentType : false,
        success:function(data){  
            if(!data.success){
                  alert(data.errInfo);
            }
        }
    });  
}  
  
/**  
 * 将以base64的图片url数据转换为Blob  
 * @param urlData  
 */  
function convertBase64UrlToBlob(urlData){  
    //去掉url的头,并转换为byte
    var bytes=window.atob(urlData.split(',')[1]);  
    //处理异常,将ascii码小于0的转换为大于0  
    var ab = new ArrayBuffer(bytes.length);  
    var ia = new Uint8Array(ab);  
    for (var i = 0; i < bytes.length; i++) {  
        ia[i] = bytes.charCodeAt(i);  
    }  
    return new Blob( [ab] , {type : 'image/png'});  
}  
</script>


后台代码
public String uploadImg(@RequestParam(value="photofile",required=false) MultipartFile file){
     //上传file
}

相关文章

  • 上传头像插件megapix-image.js

    github下载地址点我 demo

  • 纯前端实现截图生成头像

    上传头像插件 目的: 帮助开发者快速开发上传头像功能点 背景: 现在b,g能搜到的头像上传插件并不太好用,所以想提...

  • 回看设置页面

    页面加载时 检测版本,检测头像 选择图片添加上传图片 1选择图片的插件还不会写 2上传图片要调用HTTPservi...

  • react-native 图片上传 react-nativ

    我的头像上传用的是 github 上的开源项目:react-native-image-picker首先需要导入插件...

  • 图片上传与ajax打包form里面的数据

    目录 头像上传的前端处理 头像上传的后端处理 ajax打包form里面的数据 1. 头像上传的前端处理 需求: 效...

  • 移动端上传头像

    上传头像

  • 开发经验总结

    1.头像上传功能 1.拍照或从相册选择, 头像上传。 头像修改成功之后,需要把头像image保存到沙盒。 每次页面...

  • 上传头像

    背景 在小米的面试中,最后一轮被问到了一个场景。即关于在 WebView 下开发一个用户上传头像的场景的完整流程。...

  • 上传头像

    在 User 类中增加字段: 注意:数据库中 user_image 中存储的是图片的路径,而非文件实体,所以数据类...

  • 上传头像

    //创建button和imageView -(void)createUI{ _headImageView = [F...

网友评论

      本文标题:上传头像插件megapix-image.js

      本文链接:https://www.haomeiwen.com/subject/supdsxtx.html