struts2获取上传的路径_Js交互特效案例实战之9上传图片验证

9-上传图片验证

本节学习提纲 1、要求:实现上传图片验证 2、实现上传图片验证操作     2.1 搭建基础页面内容     2.2 对上传的图片进行校验         2.2.1 获取所要上传的文件(myFile)         2.2.2 获取已上传的文件(myFile)的路径             2.2.2.1 检测图片选择的变化,会利用到onchange。             2.2.2.2 获取上传的图片路径         2.2.3 获取路径的后缀名         2.2.4 对后缀名进行判断 3、整体代码显示 24e9c2b021a31451171a7f7e6831cadd.png

1、要求:实现上传图片验证

点击“选择文件”按钮,然后对上传文件的格式进行验证。若上传的文件是图片,则提示“上传图片格式正确!”: cec7f237f62521b639bfe2944c295aaf.png若上传的文件不是图片,则提示“上传图片格式错误!”: 1d1dda123beea136acf3e973f356eee0.png

2、实现上传图片验证操作

2.1 搭建基础页面内容

<html>  <head>    <meta charset="utf-8">    <title>title>  head>  <body>    <label for="myFile">上传图片验证:label>    <input type="file" name="" id="myFile" value=""/>  body>html>
现在也搭建好了基础页面,页面展示位: 604209ed1949623da98df1fc1550101a.png

2.2 对上传的图片进行校验

图片格式一般为 jpg、png、jpeg、gif 这几种。需要校验,则上传完图片后,看看其后缀名。如下图中的是 png 格式的,属于图片。 7aa12cad266f41ab47acfc95d9604897.png想要检测后缀名,则整体步骤为:1.获取所要上传的文件(myFile);2.获取已上传的文件(myFile)的路径;3.获取已上传的文件(myFile)的路径的后缀名;4.对后缀名进行判断。若上传的文件是图片,则提示“上传图片格式正确!”;若上传的文件不是图片,则提示“上传图片格式错误!”。
2.2.1 获取所要上传的文件(myFile)
window.onload的时候,可以将 JavaScript 代码卸载 head 标签里。 window.onload()方法用于在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法。在这里,会用到 window.onload()方法。
window.onload = function() {  // 1.获取文件标签  var newfile = document.getElementById("myFile");}
2. 2.2 获取已上传的文件(myF ile)的路径
2.2.2.1 检测图片选择的变化,会利用到onchange
onchange事件在域的内容被改变时触发。
window.onload = function() {  // 1.获取文件标签  var newfile = document.getElementById("myFile");  // 2.检测图片选择的变化  // 检测已上传的文件。  newfile.onchange = function() {    alert("检测到了");  }}
此时上传文件后,可以看到输出的页面展示为: 3b8dd4a4b64bb61c124b0e35d4668536.png
2.2.2.2 获取上传的图片路径
window.onload = function() {  // 1.获取文件标签  var newfile = document.getElementById("myFile");  // 2.检测图片选择的变化  // 检测已经选择到文件。onchange在域的内容被改变时触发  newfile.onchange = function() {        // 2.1 获取上传的图片路径    var myPath = this.value;    console.log(myPath);  }}
此时上传文件后,可以看到输出的页面展示为: 86783c13b7ce91a6f780f23d393e6e81.png
2.2.3 获取路径的后缀名
想要获取路径的后缀名,则步骤为:1.获取点"."在路径字符串中的位置。可以从后往前数,第一个点“.”的位置。2.截取出点以及后面的格式后缀。3.因为后缀名可能是大写,也可能是小写,所以统一格式,转换成小写。
window.onload = function() {  // 1.获取文件标签  var newfile = document.getElementById("myFile");  // 2.检测图片选择的变化  // 检测已经选择到文件。onchange在域的内容被改变时触发  newfile.onchange = function() {    // 2.1 获取上传的图片路径    var myPath = this.value;    console.log(myPath); // C:\fakepath\棕色图.png    // 2.2 获取点"."在路径字符串中的位置    var loc = myPath.lastIndexOf("."); // 从后往前数,点在的位置    console.log(loc); // 15    // 2.3 要截取点"."后面的后缀名    var suffix = myPath.substr(loc);    console.log(suffix); // .png    // 2.4 因为后缀名可能是大写,也可能是小写,所以统一格式,转换成小写。    var lowerSuffix = suffix.toLowerCase();    console.log(lowerSuffix); // .png  }}
此时上传文件后,可以看到输出的页面展示为: 99f6bb85ddc7986d08036609b0f20b51.png
2.2.4 对后缀名进行判断
若上传的文件是图片,则提示“上传图片格式正确!”;若上传的文件不是图片,则提示“上传图片格式错误!”。
window.onload = function() {  // 1.获取文件标签  var newfile = document.getElementById("myFile");  // 2.检测图片选择的变化  // 检测已经选择到文件。onchange在域的内容被改变时触发  newfile.onchange = function() {    // 2.1 获取上传的图片路径    var myPath = this.value;    console.log(myPath);    // 2.2 获取点"."在路径字符串中的位置    var loc = myPath.lastIndexOf("."); // 从后往前数,点在的位置    console.log(loc); // 15    // 2.3 要截取点"."后面的后缀名    var suffix = myPath.substr(loc);    console.log(suffix);    // 2.4 因为后缀名可能是大写,也可能是小写,所以统一格式,转换成小写。    var lowerSuffix = suffix.toLowerCase();    console.log(lowerSuffix);    // 2.5 对后缀名进行判断    if (lowerSuffix === ".jpg" || lowerSuffix === ".png" || lowerSuffix === ".jpeg" || lowerSuffix === ".gif") {      alert("上传图片格式正确!");    } else {      alert("上传图片格式错误!");    }  }}
此时已实现了上传图片的验证要求。上传文件后,可以看到输出的页面展示为: 1e4e07eb6d12c527ad274fae1909b7b6.png

3、整体代码显示

<html>  <head>    <meta charset="utf-8">    <title>title>    <script type="text/javascript">      // 图片格式有:jpg、png、jpeg、gif      window.onload = function() {        // 1.获取文件标签        var newfile = document.getElementById("myFile");        // 2.检测图片选择的变化        newfile.onchange = function() {          // 2.1 获取上传的图片路径          var myPath = this.value;          console.log(myPath);          // 2.2 获取点"."在路径字符串中的位置          var loc = myPath.lastIndexOf(".");          console.log(loc);          // 2.3 要截取点"."后面的后缀名          var suffix = myPath.substr(loc);          console.log(suffix);          // 2.4 因为后缀名可能是大写,也可能是小写,所以统一格式,转换成小写。          var lowerSuffix = suffix.toLowerCase();          console.log(lowerSuffix);          // 2.5 对后缀名进行判断          if (lowerSuffix === ".jpg" || lowerSuffix === ".png" || lowerSuffix === ".jpeg" || lowerSuffix === ".gif") {            alert("上传图片格式正确!");          } else {            alert("上传图片格式错误!");          }        }      }script>  head>  <body>    <label for="myFile">上传图片验证:label>    <input type="file" name="" id="myFile" value="" />  body>html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值