如何获取预览图片的本地路径?

fileImgInput.onchange = function(e){
                // upLoadImg(this);
                function getObjectURL(file) {
                           var url = null;
                           if (window.createObjcectURL != undefined) {
                               url = window.createOjcectURL(file);
                           } else if (window.URL != undefined) {
                               url = window.URL.createObjectURL(file);
                           } else if (window.webkitURL != undefined) {
                               url = window.webkitURL.createObjectURL(file);
                           }
                           return url;
                       }
                       var objURL = getObjectURL(this.files[0]);//这里的objURL就是input file的真实路径
                       imgContent.src= objURL;
                       console.log(objURL)

                this.value = '';
            }

图片描述

控制台里输出的是图片里的,我想获取的是类似F://XX/XX/X.png这种路径,请问有什么办法实现吗?

阅读 9.8k
10 个回答

浏览器是个沙盒,是和你电脑其他系统资源隔离的。那么假设你的设想可以实现,那就很危险了,个人电脑上所有资源都可以被窃取,因为文件路径,也是属于资源。

fileImgInput.onchange = function(e){
          var imgFile = this.files[0];
        var fr = new FileReader();
        fr.onload = function() { 
            file1 = imgFile.name;
            console.log(file1);
            console.log(fr.result);
        };
        fr.readAsDataURL(imgFile);
            }

目前就ie9以下可以拿到完整路径。 现代浏览出于安全考虑,拿不到完整路径

现在的浏览器基本为了安全是拿不到完整的路径的,一般如果要做图片预览,可以把图片转成base64编码或者传到服务器上再显示预览。

拿不到的哈,拿到的地址是c盘fake路径,你可以把文件放在这个路径下,那就可以默认路径了。

以前是可以的,现在获取不到了。

好像是只有以前ie678好像就有能拿到的、也只有ie接触过

拿不到图片在本地的真实路径,但是如果只是实现预览功能,还是可以的。

html5里,在拿不到本地路径,不用上传到后端时,也是能实现前端预览功能的!fileReader能实现前端预览,具体的实现,你可以看下这篇文章: html5实现图片预览和查看原图
https://www.xiabingbao.com/html5/2015/05/20/html5-filereader-natural.html

拿不到 只有fakepath

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏