• 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>  
  • 相关阅读:
    C# 文件类的操作---删除
    C#实现Zip压缩解压实例
    UVALIVE 2431 Binary Stirling Numbers
    UVA 10570 meeting with aliens
    UVA 306 Cipher
    UVA 10994 Simple Addition
    UVA 696 How Many Knights
    UVA 10205 Stack 'em Up
    UVA 11125 Arrange Some Marbles
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/v-weiwang/p/4786707.html
Copyright © 2020-2023  润新知