首页 > javascript如何在上传框中获取本地文件的地址

javascript如何在上传框中获取本地文件的地址

是这样的,我想做一个图片上传前的预览功能,因此想读出上传框中本地文件的地址,然后把它设置为一个img标签的src地址,这样就可以展示出来。就像这样

<input type="file" id="file" name="img" />
<script>
$('#file').change(function () {
    $('<img src="' + $(this).val() + '" />').insertAfter(this);
});
</script>

但是我发现这里用$(this).val()取出来地址完全不是真实地址啊,都是类似c://fakepath/...之类的假地址,我怎么来实现这个功能呢?


我能想到三条线索:


由于安全性的原因,从ie8以上的浏览器就封闭了这个接口,所以返回来的都是fakepath这样的路径,你如果想实现在线预览的话,可以使用HTML5新增的File API来实现,具体的写法你可以这样

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload=function(){
            var file=document.getElementById("file")

            file.onchange=function(){
                var img=document.createElement("img")
                img.src=window.URL.createObjectURL(file.files[0])
                img.onload=function(){
                    window.URL.revokeObjectURL(this.src)
                }
                document.body.appendChild(img)
            }
        }
    </script>
</head>
<body>
<input type="file" id="file"/>
</body>
</html>
【热门文章】
【热门文章】