`

上传文件时禁止用户手动输入

    博客分类:
  • Html
 
阅读更多

常规的Web应用程序中涉及到文件上传的部分都不可避免地会使用到<input type="file"/>控件,在上传文件的时候通过点击“浏览”按钮,在弹出的文件选择对话框中选择本地要上传的文件。当然,如果你已经知道要上传的文件的本地路径,也可以复制路径到控件的输入框中(例如要选择的文件的路径特别长)。这就存在一个问题,如果你所复制的文件路径根本不存在,那么上传的时候就无法正确获取到文件,而且在javascript中没有判断该控件所选择的文件是否存在的方法,涉及到浏览器的安全性,大多数时候我们是不能通过javascript来操作客户端本地文件的。

那么如何解决该问题呢?

其实在FireFox和IE8中已经对这个控件进行了相应的限制,如果你在这两种浏览器中查看带有<input type="file"/>标签的页面,会看到根本不允许用户直接输入,而只能通过点击“浏览”按钮来选择文件,这样就可以有效地确保用户所选文件的合法性。但是在IE7和一些低版本的浏览器中仍然是可以输入的,这个时候就需要对这个控件进行一些限制,下面是可以采用的方法:

 

 

2. 使用脚本事件限制控件输入

将<input type="file"/>控件的鼠标右键菜单、按键事件限制住,不让用户有机会输入。

<input type="file" onkeydown="return false" onkeyup="return false" oncontextmenu="return false">

 

3. 使用contenteditable属性

使用该属性可以有效地限制用户在<input type="file"/>控件中手动输入内容,而只能通过文件选择对话框选择文件。

<input type="file" id="file1" contenteditable="false" />

分享到:
评论

相关推荐

    密码管家 - 最强大的密码管理助手(2012年2月2日重新上传v2.5.0)

    由于v2.0.0新增了密码收藏功能并禁止了记录列表里存在同名记录,使数据库结构有稍许变化,只是覆盖升级的话会造成新版运行出现异常,所以强烈建议旧版用户在升级时采用全新安装的方式,提供步骤如下:首先确保密码...

    PPC顯示中文基站信息mymobiletrack足迹

    PPC手機使用:一方面即时显示中文基站,...3、手动输入基站代码查询中文信息 2010-10-22更新: 1、运行的时候自动记录相关数据到本地的手机上,在根部目录下面的celldata.txt文件。有需要的朋友可以用excel打开就可以了

    Linux FTP服务搭建

    AnonymousCantUpload no 是否允许匿名用户上传文件(no=允许) 第2步,Pure-FTPD服务是以ftp账号运行的,所以需要先检查/etc/passwd下是否有ftp账号。如果没有,执行以下指令添加该用户: [root@localhost ~]#useradd...

    密码管家 - 最强大的密码管理助手

    由于v2.0.0新增了密码收藏功能并禁止了记录列表里存在同名记录,使数据库结构有稍许变化,只是覆盖升级的话会造成新版运行出现异常,所以强烈建议旧版用户在升级时采用全新安装的方式,提供步骤如下:首先确保密码...

    《程序天下:JavaScript实例自学手册》光盘源码

    19.2 改变上传文件控件的样式 19.3 上传文件一次完成 19.4 使用正则判断文件扩展名 19.5 多附件上传效果 19.6 上传控件内容清空 19.7 textarea显示记事本文件的内容 19.8 使用FSO读写文本文件 19.9 自动启动文件下载...

    程序天下:JavaScript实例自学手册

    19.2 改变上传文件控件的样式 19.3 上传文件一次完成 19.4 使用正则判断文件扩展名 19.5 多附件上传效果 19.6 上传控件内容清空 19.7 textarea显示记事本文件的内容 19.8 使用FSO读写文本文件 19.9 自动启动文件下载...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    12.2.3 上传文件 12.2.4 使文件对多用户安全 12.2.5 压缩 12.3 序列化 12.4 总结 第13章 LINQ 13.1 LINQ基础 13.1.1 延迟执行 13.1.2 LINQ是如何工作的 13.1.3 LINQ表达式 13.1.4 揭秘LINQ...

    LxShop多用户商城源码GBK v2.0

    1.解压缩,以二进制模式把文件上传到服务器; 2.将文件属性设置为777; 3.运行http://您的域名/install.php文件,开始安装; 4.输入数据库用户名、密码、数据库名、管理员帐号、密码,进行安装; 5.安装完成,程序将...

    淘客帝国破解版

    2:上传文件夹中的upload文件中至网站根目录,或子目录 3:登陆后台http://域名/admin/ 并修改配置站点信息 初始账号:admin 密码:admin 4:logo默认路径img/风格/logo.gif 用您自己的LOGO覆盖即可! 【更新内容】...

    WIN XP蓝屏代码大全

    ◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误. ◇解决方案:使用"chkdsk /r"检查并修复磁盘错误. 13、0x...

    电脑蓝屏对照码

    ◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误. ◇解决方案:使用"chkdsk /r"检查并修复磁盘错误. 13、0x...

    flex3的cookbook书籍完整版dpf(包含目录)

    在一个搜索域中高亮显示用户输入 4.10节. 把字符当作独立图像处理 4.11节. 指定TextField中的HTML样式 4.12节. 使用RichTextEditor 4.13节. 在HTML中应用嵌入字体 4.14节. 给一个Text 组件中的文本添加拖拽阴影 ...

    dreamweaver上PHP网站开发相关插件

    保留上传文件的换行和空格。 Insert Retrieve ID PHP.mxp 插入一个可以找回的“ID”。 FX PHP Sessions12.mxp 设置“Sessions”。 FX PHP Cookies11.mxp 设置“Cookies”。 Horizontal Looper PHP.mxp ...

    javapms门户网站源码

    “资源”是指网站前台页面经常需要引用到的图片、css、js、flash等文件,javapms将这些文件都分类存放在了程序指定的目录中,管理员可以系统后台进行上传,删除,修改等管理操作,替代了传统的ftp管理方式。...

    PHP动态网站开发插件

    保留上传文件的换行和空格。 Insert Retrieve ID PHP.mxp Download 点击下载 插入一个可以找回的“ID”。 FX PHP Sessions12.mxp Download 点击下载 设置“Sessions”。 FX PHP Cookies11.mxp Download 点击下载 ...

Global site tag (gtag.js) - Google Analytics