zoukankan      html  css  js  c++  java
  • h5本地预览上传的图片或视频

    通过<input id="input" type="file" onchange="changeFile()"> 中的change事件 拿到的file不能直接在本地预览选择的图片或者视频,可以通过以下两种方式预览本地图片,不用上传到服务器就可以本地预览。

    createObjectURL

    这种方式生成的文件地址可以预览图片和视频

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <input id="inputFile" onchange="change();" type="file">
    <img id="img" src="">
    <script>
        function change() {
            console.log(111);
            var uploadUrl = getFileUrl('inputFile');
            var img =document.getElementById('img');
            img.src = uploadUrl;
        }
        function getFileUrl(sourceId) {
            var url;
            if (navigator.userAgent.indexOf("MSIE") >= 1) { // IE
                url = document.getElementById(sourceId).value;
            } 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));
            }
            return url;
        }
    </script>
    </body>
    </html>

    本地预览的视频地址最终结果 blob格式

    广州VI设计公司https://www.houdianzi.com

    FileReader

    var reader = new FileReader();
    
    reader.onload =function(e){
        aImg.src = e.target.result;
    }
    reader.readAsDataURL(file); // file是指选择的文件 files[0]

    本地预览的视频地址最终结果 base64格式

  • 相关阅读:
    lintcode-60-搜索插入位置
    lintcode-57-三数之和
    lintcode-55-比较字符串
    lintcode-52-下一个排列
    lintcode-51-上一个排列
    lintcode-49-字符大小写排序
    lintcode-47-主元素 II
    lintcode-45-最大子数组差
    lintcode-44-最小子数组
    Charles抓包
  • 原文地址:https://www.cnblogs.com/qianxiaox/p/14035622.html
Copyright © 2011-2022 走看看