zoukankan      html  css  js  c++  java
  • html,图片上传预览,input file获取文件等相关操作

    input file常用方法:

    var obj=document.getElementById("upimage");
    var file=obj.files[0];//获取文件数据
    var path=obj.value;//获取文件当前路径
    var size=obj.files[0].size;//获取文件大小
    var prefix=path.substring( path.lastIndexOf('\')+1 );//获取文件名的前缀名(文件格式)
    var suffix=path.substring(path.lastIndexOf('.')+1).toLocaleLowerCase(); 
    //获取文件名的后缀名(文件格式)并且转换为小写

    图片上传预览完整代码:

    <!DOCTYPE html>  
    <html>  
    <head>  
    <meta charset="utf-8">  
    <title>上传图片</title>  
    <script type="text/javascript">
            //下面用于图片上传预览功能
            function setImagePreview() {
                var obj=document.getElementById("upimage");
                var imgObjPreview=document.getElementById("preview");
                var src=event.target || window.event.srcElement; //获取事件源,兼容chrome/IE
                //下面把路径截取为文件名
                var filename=src.value;//图片完整路径
                var prefix=filename.substring( filename.lastIndexOf('\')+1 );//获取文件名的前缀名(文件格式)
                var suffix=filename.substring( filename.lastIndexOf('.')+1).toLocaleLowerCase(); //获取文件名的后缀名(文件格式)
                console.log(suffix);
                if(suffix !='jpg' && suffix !='png'){
                    alert("图片格式只能为jpg 或者 png");
                    obj.outerHTML=obj.outerHTML;//清空选择按钮
                    return false;
                }
                if(obj.files && obj.files[0])
                {
                    if(obj.files[0].size>2048000){
                        alert("文件超过2M");
                        obj.outerHTML=obj.outerHTML;//清空选择按钮
                        return false;
                    }
                    //火狐下,直接设img属性
                    imgObjPreview.style.display = 'block';
                    imgObjPreview.style.width = '150px';
                    imgObjPreview.style.height = '180px';
                    console.log(obj.files[0].size);
                        //imgObjPreview.src = obj.files[0].getAsDataURL();
    
                    //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
                    imgObjPreview.src = window.URL.createObjectURL(obj.files[0]);//写入文件流
                }
                else
                {
                    obj.select();//IE下,使用滤镜
                    var imgSrc = document.selection.createRange().text;//路径
                    var localImagId = document.getElementById("imageDiv");
                    var img=document.getElementById("preview");
                    
                    alert(localImagId.fileSize);
    //必须设置初始大小
                    localImagId.style.width = "150px";
                    localImagId.style.height = "180px";
    //图片异常的捕捉,防止用户修改后缀来伪造图片
                    try{
                        localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
                        localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;//显示图片
                    }
                    catch(e)
                    {
                        alert("您上传的图片格式不正确,请重新选择!");
                        return false;
                    }
                    imgObjPreview.style.display = 'none';
                    document.selection.empty();
                }
                return true;
            }
    
        </script>
    </head>  
    <body>  
    <div id="imageDiv"><img id="preview" src="#"></div>
    <form action="upload.do" method="post" enctype="multipart/form-data">  
    <input type="file" id="upimage" name="file" onchange="setImagePreview()"/> <input type="submit" value="Submit" /></form>  
    </body>  
    </html>  
  • 相关阅读:
    Mongodb--基础(连接,增删改查,数据类型)
    [初识]使用百度AI接口,图灵机器人实现简单语音对话
    python--Websocket实现, 加密 sha1,base64
    Flask系列10-- Flask请求上下文源码分析
    python--partial偏函数
    Flask系列09--Flask中WTForms插件,及自定义验证器
    Flask系列08--Flask中flask_session, redis插件
    Flask系列07--Flask中的CBV, 蓝图的CBV
    Flask系列06--(中间件)Flask的特殊装饰器 before_request,after_request, errorhandler
    Flask系列05--Flask的配置config
  • 原文地址:https://www.cnblogs.com/v-weiwang/p/4786707.html
Copyright © 2011-2022 走看看