zoukankan      html  css  js  c++  java
  • 关于利用input的file属性在页面添加图片的问题

    在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析:

    在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径。

    在火狐和谷歌需要用createObjectURL((input的元素).files.item(0))来获取其路径;

    现在请看代码:

    css设置样式部分(可以自己设置好看的样式):

            *{
                margin: 0;
                padding:0;
            }
            #img{
                width:50px;
            }
            .box{
                width: 100px;
                margin:20px auto;
            }
            .box span{
                width:50px;
                height:50px;
                display: block;
                border-radius:50%;
                overflow:hidden;
                margin:auto;
            }
            .box span img{
                width: 100%;
            }
            .Infor_file{
                position: relative;
                margin-top:20px;
            }
            .Infor_file p{
                width:100px;
                height: 40px;
                text-align: center;
                line-height:40px;
                background:#E77B77;
                color:#fff;
                font-size:16px;
                border-radius:5px;
            }
            #file{
                width:100px;
                height:40px;
                position: absolute;
                top: 0;
                left: 0;
                opacity:0;
                filter:alpha(opacity=0);
            }

    html部分:

    <div class="box">
        <span><img id="img" src=""/></span>
        <div class="Infor_file"> 
            <p>添加图片</p> 
         <input type="file" id="file" onchange="get(this)"/> </div> </div>

     js部分:

         var img=document.getElementById("img")
            function get(node){
                var userAgent=navigator.userAgent;
                //适用谷歌和火狐的浏览器传入路径
                if(userAgent.indexOf("Chrome")!=-1||userAgent.indexOf("Firefox")!=-1){
                    img.src=window.URL.createObjectURL(node.files.item(0));
                }
                //适用IE浏览器传入路径
                if(userAgent.indexOf("MSIE")!=-1){
                    img.src=node.value;
                }
            }

    以上代码仅供参考!

  • 相关阅读:
    【LeetCode-动态规划】编辑距离
    【LeetCode-栈】计算器
    【LeetCode-栈】字符串解码
    【LeetCode-数组】缺失的第一个正数
    【LeetCode-查找】寻找重复数
    【LeetCode-堆】丑数
    【LeetCode-堆】数据流中的第K大元素
    【LeetCode-排序】根据身高重建队列
    立项与启动
    JS中match方法探究
  • 原文地址:https://www.cnblogs.com/zouxianlu/p/6536375.html
Copyright © 2011-2022 走看看