html实战之二(图片选择器,js操作dom应用)

接着上一篇,先看一下效果

html2

html2

对头,就是添加本地图片显示出来

选择文件的东东,input type="file"

<input id="add" type="file" name="添加本地图片" value="添加本地图片" οnchange="addImage()">

选完图片后就会触发onchange方法,去调用addImage


1.我是table做的图片列表,所以拿到path之后得往里面添加

  function addImage(){  //添加图片
            // //读取图片
            //var path = document.getElementById('add').value;
            var path = getFileUrl('add');
            //向表格中添加该图片
            var table = document.getElementById('imgs_table');
            var newTr = table.insertRow();//添加新行,trIndex就是要添加的位置 
            var newTd1 = newTr.insertCell(); 
            newTd1.innerHTML = `<img src="${path}">`;
            /*var realPath = getFileUrl('add');
            alert(realPath);*/


        }

2.拿到path时候发现得到的是fakePath,所以搜了一下解决办法

   /** 
     * 从 file 域获取 本地图片 url 
     */
    function getFileUrl(sourceId) {
        var url;
        if (navigator.userAgent.indexOf("MSIE") >= 1 && !(navigator.userAgent.indexOf("MSIE 10.0") > 0) ) { // IE10取消了滤镜
            //url = document.getElementById(sourceId).value;
            document.all.imgOne.select();
            $("#preview").focus();
            url = document.selection.createRange().text;
        
        } else if (navigator.userAgent.indexOf("Firefox") > 0) { // Firefox 
            url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
        } else if (navigator.userAgent.indexOf("Chrome") > 0) { // Chrome 
            url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
        }else if(navigator.userAgent.indexOf("MSIE 10.0") > 0){
            url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
        }else{
            url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
        }
        return url;
    }

打完收工

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值