zoukankan      html  css  js  c++  java
  • 头像上传功能实现,PC端的需要做兼容

    暂时实现的效果:

    http://sandbox.runjs.cn/show/v2vkds3j

    <form action="">
        <img id="viewImg" src="photos.png" alt="">
        <input type="file" id="file">
    </form>

    css:

            #file{
                position: absolute;
                width: 0;
                height: 0;
                visibility: hidden;
            }
            #viewImg{
                position:absolute;
                width:200px;
                height:200px;
                border-radius: 100%;
                top:50%;
                left:50%;
                margin-top: -100px;
                margin-left: -100px;
            }

    js:哈哈,看你的悟性了。

    var view = document.getElementById('viewImg');
            var file = document.getElementById('file');
            $(file).on('change',function(){
                var fileval = this.value;
                if(!/.(jpg|gif|jpeg|png|bmp)$/ig.test(fileval)){
                    alert("图片类型必须是.gif,jpeg,jpg,png,bmp中的一种");
                    return false;
                }else{
                    var url = window.URL.createObjectURL(file.files[0]);
                    view.src = url;
                }
            })
            $(view).on('click',function(){
                $(file).trigger("click");
            })

    window.url.createobjecturl 兼容多个浏览器

    function setImagePreview() { 
    var docObj = document.getElementById("ctl00_ContentMain_file_head"); 
    var fileName = docObj.value; 
    if (!fileName.match(/.jpg|.gif|.png|.bmp/i)) { 
    alert('您上传的图片格式不正确,请重新选择!'); 
    return false; 
    } 
    
    var imgObjPreview = document.getElementById("preview"); 
    if (docObj.files && docObj.files[0]) { 
    //火狐下,直接设img属性 
    imgObjPreview.style.display = 'block'; 
    imgObjPreview.style.width = '63px'; 
    imgObjPreview.style.height = '63px'; 
    //imgObjPreview.src = docObj.files[0].getAsDataURL(); 
    if (window.navigator.userAgent.indexOf("Chrome") >= 1 || window.navigator.userAgent.indexOf("Safari") >= 1) { 
    imgObjPreview.src = window.webkitURL.createObjectURL(docObj.files[0]); 
    } 
    else { 
    imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]); 
    } 
    } else { 
    //IE下,使用滤镜 
    docObj.select(); 
    docObj.blur(); 
    var imgSrc = document.selection.createRange().text; 
    var localImagId = document.getElementById("localImag"); 
    //必须设置初始大小 
    localImagId.style.width = "63px"; 
    localImagId.style.height = "63px"; 
    //图片异常的捕捉,防止用户修改后缀来伪造图片 
    try { 
    localImagId.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; 
    localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc; 
    } catch (e) { 
    alert("您上传的图片格式不正确,请重新选择!"); 
    return false; 
    } 
    imgObjPreview.style.display = 'none'; 
    document.selection.empty(); 
    } 
    return true; 
    } 
  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/qianduanjingying/p/5710296.html
Copyright © 2011-2022 走看看