• 图片预览相关


    两种方法

    1、

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>file上传图片</title>
        <style type="text/css">
            .container{
                min-height: 500px;
                border: 1px solid #f5f5f5;
                background-color: #ccc;
            }
            .img-holder{
                 300px;
                height: 300px;
                border:1px solid #f00;
            }
            .img-holder img{
                 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
    <h2>预览图片</h2>
    <div class="container">
        <input class="img-selector" type="file" >
        <div id="upload_text"></div>
        <div id="progress_text"></div>
        <div id="img-holder"></div>
    </div>
    
    
    <script type="text/javascript">
        let img_input = document.getElementsByClassName('img-selector')[0];
        img_input.addEventListener('change',function(){
            let imgHolder = document.getElementById('img-holder');
            let uploadText = document.getElementById('upload_text');
            let progressText = document.getElementById('progress_text');
            let files = this.files;
            let reader = new FileReader();
            let type = 'default';
            if(/image/g.test(files[0].type)){
                reader.readAsDataURL(files[0]);   //将上传的资源生成链接 保存在result中
                type = 'image'
            }else{
                reader.readAsText(files[0]);      //将上传的资源生text类型数据
                type = 'text'
            }
    
            reader.onerror = function(){
                uploadText.innerHTML = '您上传的图片出错,错误码是'+reader.error.code;
            }
            reader.onprogress = function(event){
                if(event.lengthComputable){
                    progressText.innerHTML = event.loaded+'/'+event.total;
                }
            }
            reader.onload = function(){
                let html = '';
                switch(type){
                    case 'image':
                        html = "<img src='"+reader.result+"' />";
                        break;
                    case 'text':
                        html = reader.result;
                        break;
                }
                imgHolder.innerHTML = html
            }
        },false)
    </script>
    </body>
    <ml>

    2、

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>file上传图片</title>
        <style type="text/css">
            .container{
                min-height: 500px;
                border: 1px solid #f5f5f5;
                background-color: #ccc;
            }
            #img-holder{
                 300px;
                height: 300px;
                border:1px solid #f00;
            }
            #img-holder img{
                 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
    <h2>预览图片</h2>
    <div class="container">
        <input class="img-selector" type="file" >
        <div id="upload_text"></div>
        <div id="progress_text"></div>
        <div id="img-holder"></div>
    </div>
    
    
    <script type="text/javascript">
        let img_input = document.getElementsByClassName('img-selector')[0];
        img_input.addEventListener('change',function(){
            let imgHolder = document.getElementById('img-holder');
            let uploadText = document.getElementById('upload_text');
            let progressText = document.getElementById('progress_text');
            let files = this.files;
            let reader = new FileReader();
            let url = createObjectURL(files[0]);
    
            if(url){
                if(/image/g.test(files[0].type)){
                    imgHolder.innerHTML = "<img src='"+url+"'>"
                }else{
                    imgHolder.innerHTML = "不是图片"
                }
            }
        },false)
    
        function createObjectURL(blob){
            if(window.URL){
                return window.URL.createObjectURL(blob)
            }else if(window.webkitURl){
                return window.webkitURl.createObjectURL(blon)
            }else{
                return null
            }
        }
    </script>
    </body>
    <ml>
  • 相关阅读:
    WPF后台生成datatemplate(TreeViewItem例子)
    后台根据数据模版内的子控件获取使用该模版的控件
    逻辑代码实现拼音首字母检索
    自定义LISTBOX内子项为checkbox或者radio时,关于IsChecked绑定
    siliverlight某些事件无法响应
    页面内容不能铺满浏览器窗口的解决方法
    linux sort命令学习
    linux find命令学习
    linux tr命令学习
    linux cat命令学习
  • 原文地址:https://www.cnblogs.com/white0710/p/7550369.html
Copyright © 2020-2023  润新知