zoukankan      html  css  js  c++  java
  • js 图片不保存的回显功能/图片尺寸验证/图片大小验证 /图片类型验证

    大部分转自:http://blog.csdn.net/qq_39200924/article/details/79198766

    在项目中经常用到input标签来上传文件,而这些文件通常是图片文件。图片有很多格式我们只需要其中的几种,就需要对用户上传的文件进行验证,在HTML5中有一个新的属性:accept文件类型限制。但是通常我们会用javascript或jQuery编写方法进行验证图片的大小限制、类型判断、像素判断。

    [html] view plain copy
     
    1. <input type="file" name="files" id="file" onchange="verificationPicFile(this)"accept="image/*">  
    2. 类型验证accept的属性设置为image/*,就只可以选择图片类型更方便,若是有其他更局限要求,用下面的方法
    [javascript] view plain copy
     
    1. //图片类型验证  
    2. function verificationPicFile(file) {  
    3.     var fileTypes = [".jpg", ".png"];  
    4.     var filePath = file.value;  
    5.     //当括号里面的值为0、空字符、false 、null 、undefined的时候就相当于false  
    6.     if(filePath){  
    7.         var isNext = false;  
    8.         var fileEnd = filePath.substring(filePath.indexOf("."));  
    9.         for (var i = 0; i < fileTypes.length; i++) {  
    10.             if (fileTypes[i] == fileEnd) {  
    11.                 isNext = true;  
    12.                 break;  
    13.             }  
    14.         }  
    15.         if (!isNext){  
    16.             alert('不接受此文件类型');  
    17.             file.value = "";  
    18.             return false;  
    19.         }  
    20.     }else {  
    21.         return false;  
    22.     }  
    23. }  
    [javascript] view plain copy
     
    1. //图片大小验证  
    2. function verificationPicFile(file) {  
    3.     var fileSize = 0;  
    4.     var fileMaxSize = 1024;//1M  
    5.     var filePath = file.value;  
    6.     if(filePath){  
    7.         fileSize =file.files[0].size;  
    8.         var size = fileSize / 1024;  
    9.         if (size > fileMaxSize) {  
    10.             alert("文件大小不能大于1M!");  
    11.             file.value = "";  
    12.             return false;  
    13.         }else if (size <= 0) {  
    14.             alert("文件大小不能为0M!");  
    15.             file.value = "";  
    16.             return false;  
    17.         }  
    18.     }else{  
    19.         return false;  
    20.     }  
    21. }  
    [javascript] view plain copy
     
    1. //图片尺寸验证  
    2. function verificationPicFile(file) {  
    3.     var filePath = file.value;  
    4.     if(filePath){  
    5.         //读取图片数据  
    6.         var filePic = file.files[0];  
    7.         var reader = new FileReader();  
    8.         reader.onload = function (e) {  
    9.             var data = e.target.result;  
    10.             //加载图片获取图片真实宽度和高度  
    11.             var image = new Image();  
    12.             image.onload=function(){  
    13.                 var width = image.width;  
    14.                 var height = image.height;  
    15.                 if (width == 720 | height == 1280){  
    16.                     alert("文件尺寸符合!");  
    17.                 }else {  
    18.                     alert("文件尺寸应为:720*1280!");  
    19.                     file.value = "";  
    20.                     return false;  
    21.                 }  
    22.             };  
    23.             image.src= data;  
    24.         };  
    25.         reader.readAsDataURL(filePic);  
    26.     }else{  
    27.         return false;  
    28.     }  
    29. }  

    4、图片不保存的回显功能。

    html:

    <div class="form-horizontal-input">
    <span class="Validform-info">广告图片</span>
    <p class="show_img">
    <img src="" data-toggle="modal" href="#lookImg" style=" 200px;"> //他来保存图片url,来回显的容器
    </p>
    <p>
    <div class="upload">
    <label class="btn btn-info btn-block">
    <span>上传广告图片</span>
    <input class="hidden" type="file" id="show_img" accept="image/*"> //放图片文件的容器
    <input type="hidden" id="file_path">
    <input type="hidden" id="file_url">
    </label>
    </div>
    </p>
    <div class="remarks-Adver">
    <p>注:</p>
    <p>1.轮播广告图长宽比建议5:2</p>
    <p>2.固定/默认广告图长宽比建议10:7</p>
    </div>
    </div>

    js:
    function uploadFile(id,classd) {
    var file_name = window.URL.createObjectURL(document.getElementById(id).files[0]);  //id为上面的show_img
    $(classd).find('img').attr('src',file_name);  //classed为放图片url的容器。
    }

  • 相关阅读:
    如何配置寄存器
    逻辑分析仪的使用
    CAN中如何计算波特率并配置波特率
    led不同颜色的驱动电压和驱动电流
    ULINK2配置
    电机加减速转动
    2N7002
    未添加时钟文件产生报错
    烟雾传感器
    Strategy 设计模式 策略模式 超靠谱原代码讲解
  • 原文地址:https://www.cnblogs.com/daguozb/p/8579294.html
Copyright © 2011-2022 走看看