`

上传图片-JavaScript 客户端的一系列判断与清空文件域(原创)

阅读更多


<html>
</head>
  <body>

    <form name="formimg" action="submit.jsp" enctype="multipart/form-data" method="post">          
              <table width="100%" border="0" cellspacing="2" cellpadding="2">
               <tr>
                 <td valign="top">
         <span id="pfile">
          <input type="file"  name="protectfile" onChange="previewit()" onKeyDown="return false" onpaste="return false;" >
         </span>
         <div id="preview"></div>
        </td>
                </tr>
               <tr>
                 <td>
        
        </td>
                </tr>
               <tr>
                 <td>
                                   <input name="updateprotect" type="button" class="BtnConfirm" value="上传" onClick="javascript:updateExe();" />
              <input name="usecurprotect" type="button" class="BtnConfirm" value="使用默认图" onClick="javascript:updateExe2();" />
                                </td>
                </tr>
              </table>
                        </form>

  </body>

 

 
<script language="javascript">
 
 /*
 * 预览图片
 */
 function previewit()
 {
  var fileext;  
  fileext=(document.formimg.protectfile.value.substring(document.formimg.protectfile.value.lastIndexOf("."),document.formimg.protectfile.value.length)).toLowerCase();
  if(fileext!='.gif')
  {
   alert("系统仅支持GIF格式的图片,请选择GIF格式图片!");
   document.formimg.protectfile.value="";
   document.formimg.protectfile.focus();
   return false;
  }
  else
  {
   document.getElementById("preview").innerHTML="<span><b>图</b></span><br><img src='"+document.formimg.protectfile.value+"'  style='border:2px double #ccc'>" ;
  } 
 }

 /*
 * 上传图片
 */
 function updateExe(){
  var filename = document.formimg.protectfile.value;
  if(filename== ""){
   alert("您还没有选择警告图片文件");
   return;
  }else{
   if(filename.substr(filename.length-4,4).toLowerCase().match("^.gif$") == null) {
    alert("图像类型不是GIF类型");
    return;
   }else{
    // 照片的大小验证  
    var img = new Image();  
    var MAXSIZE = 1000;   
    alert(filename);  
    img.src = filename;  
    alert(img.fileSize);  
    if (img.fileSize > MAXSIZE*1024) {  
     alert( " 请上传小于 1M 的图片 " );     
     return false ;     
    }
    alert("我要提交了."); 
    //document.formimg.submit(); //提交
   }
  }
 }

 //首先清空文件域
 function updateExe2(){
  document.getElementById("pfile").innerHTML = "<input type=\"file\" name=\"protectfile\" onKeyDown=\"return false;\" onpaste=\"return false;\"/>";
  document.formimg.submit(); //提交
 }
</script>
</html>

分享到:
评论

相关推荐

    javaScript简单模拟计算器

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责处理客户端的交互逻辑。在本主题中,我们将深入探讨如何使用JavaScript实现一个简单的模拟计算器。这个计算器可能包括基本的算术运算,如加、减...

    js判断上传文件的类型和大小示例代码

    为了确保上传的文件符合网站的要求,前端开发者往往需要利用JavaScript来对文件进行一系列的检查。这个过程包括判断文件的类型和文件的大小。以下是对文件上传时进行类型和大小判断的知识点总结。 首先,从标题和...

    Javascript考试题目选择题.docx

    根据提供的文档信息,我们可以整理出一系列与JavaScript相关的知识点。这些知识点涵盖了基本的语法、特性、控制结构、事件处理以及与HTML交互的相关概念。 ### JavaScript基础知识 #### 1. 输出到浏览器 - **知识...

    highcharts客户端导出,本地导出

    这个项目提供了一个纯JavaScript的解决方案,允许在浏览器中实现Highcharts图表的本地导出,无需与服务器通信。 实现客户端导出的关键在于使用`canvg`和`xlsx`这两个库。`canvg`库用于将SVG图表转换为Canvas元素,...

    Gulp安装及配合组件构建前端开发一体化.pdf

    Gulp 是一个基于 Node.js 的自动化任务运行器,它能够帮助前端开发者实现一系列流程化的任务,比如编译 Sass,压缩 CSS 和 JavaScript,处理图片,甚至自动化构建过程。在这个主题中,我们将深入探讨如何安装 Gulp ...

    Classic Tetris Game in JavaScript Free Source Code.zip

    例如,游戏中的每个方块可以用一个二维数组来表示,而游戏逻辑则可以通过一系列的函数实现。 游戏的核心部分是游戏循环,它通常由`setInterval`或`requestAnimationFrame`函数控制。在这段源代码中,开发者可能会...

    2021-2022计算机二级等级考试试题及答案No.14296.docx

    - CPU 通过执行一系列指令来完成任务。 **解析**: - 中央处理器(CPU)是计算机的核心部件,负责执行指令。 **答案**:B. 指令 ### 10. Word 文件保存 **知识点概述**: - Microsoft Word 支持多种文件格式的...

    【JavaScript源代码】js实现网页计算器.docx

    这种动态交互是现代网页应用的基础,也是JavaScript作为客户端脚本语言的核心优势。 总结一下,这个JavaScript实现的网页计算器涉及到的知识点包括: 1. HTML基础:创建元素(如input和button),设置属性(如...

    fineuploader最新5.2.2

    FineUploader是一款功能强大的JavaScript库,专门用于实现网页上的文件上传功能。它的最新版本5.2.2在前一版本的基础上进行了优化和增强,为开发者提供了更完善的上传解决方案。这款库支持jQuery,使得与HTML DOM...

    软键盘(JavaScript模拟软键盘输入密码)

    3. **创建软键盘按钮**:在软键盘区域,创建一系列的按钮,每个按钮代表一个字符。可以使用循环和模板字符串来简化这个过程。 4. **添加事件监听器**:为每个软键盘按钮添加点击事件监听器。当用户点击按钮时,触发...

    web组建开发指南

    - **form标签**:定义表单容器,包含一系列输入控件和按钮。 - **select标签**:创建下拉列表,用户可以从列表中选择一个或多个选项。 - **multiSelect标签**:创建可多选的下拉列表,用户可以同时选择多个选项。...

    kalkulator-js:Kalkulator sederhana dengan Javascript

    JavaScript的`Math`对象提供了一系列用于数学运算的方法,如加法(`+`)、减法(`-`)、乘法(`*`)、除法(`/`)等。在计算过程中,我们可能需要处理浮点数和整数,JavaScript能自动处理这种转换。 4. 变量和数据存储: ...

    2021-2022计算机二级等级考试试题及答案No.10843.docx

    - 两者都是有序序列,可用于存储一系列数据。 - **不同点**: - **元组**:不可变序列类型,适合用于保护不变的数据,更安全;使用小括号定义,例如 `tuple = (1, 2, 3)`。 - **列表**:可变序列类型,支持元素的...

    面试宝典之吊打面试官系列

    - **问题**: 一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。 - **答案**: - 使用懒加载技术 - 图片压缩 - 采用WebP等现代格式 - 图片分批加载 - 使用...

    simple-indexdb-js:使用JavaScript Promise的简单IndexDB的包装器

    数据库由一系列对象存储区(Object Stores)组成,每个存储区又包含一系列记录。记录可以通过键来访问,而键可以是任意类型的数据。 **Promise的应用** 在`simple-indexdb-js`中,Promise被用来处理异步操作,使得...

    ajax+dwr整合

    7. **事务处理**:DWR支持事务管理,可以确保一系列操作要么全部成功,要么全部回滚,这对于复杂的业务逻辑非常重要。 **四、问题排查** 在实际应用中,可能会遇到如"AJAX第二次访问不能进入Action"的问题,这通常...

    HTML考试题.docx

    根据提供的文件信息,我们可以归纳出一系列与HTML相关的知识点。这些知识点涵盖了HTML的基础语法、标签使用、表单元素、样式管理以及网页布局等多个方面。 ### 重要知识点总结 #### 1. 框架属性设置 - **问题描述*...

    2021-2022计算机二级等级考试试题及答案No.11440.docx

    - **知识点概述**:软件危机是指在软件开发过程中出现的一系列问题,这些问题可能导致项目延期、预算超支、软件质量低下等问题。 - **详细解释**:软件危机的表现包括软件开发生产率低、软件质量难以控制、软件成本...

    asp.net 图片验证代码

    这通常由一系列字母、数字或特殊字符组成,长度可以根据安全需求来设定。 - 图形绘制:使用GDI+(Graphics Device Interface)库,可以创建一个新的Bitmap对象并在其上绘制字符串。你可以调整字体、颜色、角度、...

Global site tag (gtag.js) - Google Analytics