关于无法通过浏览器获取到图片的真实路径,显示fakepath问题

在使用JavaScript操作图片时,遇到浏览器无法获取图片真实路径,仅显示fakepath的情况。尝试通过某些方法获取完整路径,却因浏览器安全限制导致getAsDataURL()方法报错,该方法在许多浏览器中被禁用。

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

<!DOCTYPE html>
<html>
<head>
	<title>图片的增删</title>
	<style type="text/css">
    * {
    	list-style: none;
    	padding: 0px;
    	margin: 0px;
    }
	#container {
	 	width: 1000px;
	 	/* margin: 0 auto; */
	 	background-color: pink;
	 	float: left;
	 }
	img {
	 	height: 300px;
	 	width: 300px;
	 }
	ul li {
		float: left;
		margin-left: 25px;
		margin-bottom: 25px;
	}
    </style>

    <script type="text/javascript">
    	window.onload =function() {
    		//alert("hello world");
    		var uploadPic = document.getElementById("uploadPic");
            //解决fackpath代码
            function getFullPath(obj) { 
              if(obj) { 
              //ie 
                 if (window.navigator.userAgent.indexOf("MSIE")>=1) { 
                    obj.select(); 
                    return document.selection.createRange().text; 
                 } 
              //firefox 
             else if(window.navigator.userAgent.indexOf("Firefox")>=1) { 
                 if(obj.files) { 
                //return obj.files.item(0).getAsDataURL(); 
                return window.URL.createObjectURL(obj.files[0]);
             } 
             return obj.value; 
             } 
        return obj.value; 
         } 
        }
    		//alert(uploadPic.value);
    		//为input标签绑定一个单击响应函数
    		uploadPic.onchange =function() {
    			//var fileSrc = uploadPic.value;
    		    var img = document.createElement("img");
    		    var li = document.createElement("li");
                var ul=document.getElementById("list");
    		    li.appendChild(img);
    		    ul.appendChild(li);
                img.src = getFullPath(uploadPic) ;
                //alert(ul);    		
    		}
    	}
    </script>
</head>
<body>
    <div id="container">
    	<ul id="list">
    	    <li><img src="1.jpg" /></li>
    	</ul>
    </div>
    <br/><br/>
    <!-- <button id="btn1">添加图片</button> -->
    <input type="file" id="uploadPic" name="uploadPic" />
</body>
</html>

写这段代码的时候就遇到了无法通过浏览器获取完整的路径,查看码源一直所有添加进去的图片的路径都显示的是fackpath。
在百度上找到一段能通过浏览器获取图片完整路径的代码,不料控制台又出现 ***getAsDataURL() is undefined***的报错信息,很多浏览器都停用了这个方法,

//return obj.files.item(0).getAsDataURL(); 
return window.URL.createObjectURL(obj.files[0]);//与被停用的方法一样的功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值