• javascript 图片上传缩略图预览


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>图片上传缩略图预览</title>
    <script language="JavaScript" type="text/javascript">
        var allowExt = ['jpg', 'gif', 'bmp', 'png', 'jpeg'];
        var preivew = function (file, container) {
            try {
                var pic = new Picture(file, container);
            }
            catch (e) {
                alert(e);
            }
        }
        //缩略图类定义
        var Picture = function (file, container) {
            try {
                var height = 0,
                widht = 0,
                ext = '',
                size = 0,
                name = '',
                path = '';
                var self = this;
                if (file)
                {
                    name = file.value;
                    if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                        var browser = navigator.appName;
                        var b_version = navigator.appVersion
                        var version = b_version.split(";");
                        var trim_Version = version[1].replace(/[ ]/g, "");
    
                        if (trim_Version == "MSIE6.0") {
                            file.select();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        } else if (trim_Version == "MSIE7.0") {
                            file.select();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        } else if (trim_Version == "MSIE8.0") {
                            file.select();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        } else {
                            file.select();
                            //file.blur();
                            //path = document.selection.createRange().text;
                            path = window.URL.createObjectURL(file.files[0]);
                        }
                    }
                    else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                        if (file.files) {
                            path = file.files.item(0).getAsDataURL();
                        } else {
                            path = file.value;
                        }
                    }
                }
                else {
                    throw "bad file";
                }
                ext = name.substr(name.lastIndexOf("."), name.length);
                if (container.tagName.toLowerCase() != 'img') {
                    throw "container is not a valid img label";
                    container.visibility = 'hidden';
                }
                container.src = path;
                container.alt = name;
                container.style.visibility = 'visible';
                height = container.height;
                widht = container.widht;
                size = container.fileSize;
                this.get = function (name) {
                    return self[name];
                }
                this.isValid = function () {
                    if (allowExt.indexOf(self.ext) !== -1) {
                        throw 'the ext is not allowed to upload';
                        return false;
                    }
                }
            }
            catch (e) {
                alert("R:"+e);
            }
    
            /***
            *读取,图片为流文件
            ***/
            /*
            var reader = new FileReader();
             reader.onload = function(e) 
             {
                   console.log(e.target.result);
                   alert(e.target.result);
                   var fromData = new FormData();
                   fromData.append("base64", e.target.result);
             }
             reader.readAsDataURL(document.querySelector("input[type=file]").files[0]);
             */
        }
    </script>
    </head>
    <body>
    <div class='previewDemo'>
          <input id="file" type="file" onchange="preivew(this, document.getElementById('img'));" />
        <br />
          <img id="img" style="visibility:hidden" height="100px" width="100px" />
        
    </div>
    </body>
    </html>
  • 相关阅读:
    Highmaps网页图表教程之图表配置项结构与商业授权
    Highmaps网页图表教程之Highmaps第一个实例与图表构成
    Highmaps网页图表教程之下载Highmaps与Highmaps的地图类型
    iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图
    iOS 9应用开发教程之多行读写文本ios9文本视图
    基于STM32的电池管理系统触摸屏设计方案
    如何使用UDP进行跨网段广播(转)
    STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
    基于MDK编程STM32程序无法使用,硬件仿真在汇编窗口看到停留在“0x0800XXXX BEAB BKPT 0xAB //进入调试模式”
    IIR 滤波器的实现(C++)
  • 原文地址:https://www.cnblogs.com/rinack/p/3299243.html
Copyright © 2020-2023  润新知