JS input上传本地img实现预览功能

本文介绍如何使用JavaScript实现input元素选择本地图片后进行预览,详细讲解了相关代码实现步骤,帮助开发者理解这一常见前端功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

input type="file" id="add_file" onchange="preImg(this);" />
<img id="show_img" src="" width="300px" height="300px"/>
<script>
    var imgurl = "";  
    function preImg(node) {  
        var imgURL = "";  
        try{  
            var file = null;  
            if(node.files && node.files[0] ){  
                file = node.files[0];  
            }else if(node.files && node.files.item(0)) {  
                file = node.files.item(0);  
            }  
            //Firefox 因安全性问题已无法直接通过input[file].value 获取完整的文件路径  
            try{  
                imgURL =  file.getAsDataURL();  
            }catch(e){  
                imgRUL = window.URL.createObjectURL(file);  
            }  
        }catch(e){  
            if (node.files && node.files[0]) {  
                var reader = new FileReader();  
                reader.onload = function (e) {  
                    imgURL = e.target.result;  
                };  
                reader.readAsDataURL(node.files[0]);  
            }  
        }  
        creatImg(imgRUL);  
        return imgURL;  
    }  
    function creatImg(imgRUL){ 
        console.log(imgRUL);
        document.getElementById("show_img").src=imgRUL;
        $("#add_file").hide();
        document.getElementById("show_img").style.position="absolute";
        document.getElementById("show_img").style.top="0";
    }  
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值