EasyUI filebox 限制文件上传的类型
一、背景
维护项目时,希望限制上传的文件类型为 *.xls 或 *.xlsx 。
二、问题解决
EasyUI 的 filebox为了实现以上效果,分两步执行。直接上已经弄好的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"></c:set><%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
%><!DOCTYPE html>
<head>
<meta charset="UTF-8">
<jsp:include page="../inc.jsp"></jsp:include>
<title>小白学习</title>
</head>
<body style="height: 100%;"><div class="Store-M-main"><div class="blank20"></div><br><form id="formFile" method="post" action="##"class="report_form" target="_blank"><div class="easyui-panel" title="Upload File"style="width: 450px; padding: 30px 70px 50px 70px"><div style="margin-bottom: 20px"><div>物料文件:</div><input class="easyui-filebox" id="fb" name="fb" type="text" style="width: 300px; height: 32px;"></div><div><a href="javascript:void(0)" class="easyui-linkbutton" style="width: 98%" onclick="submitForm()">提交</a></div></div></form></div>
</body>
<script type="text/javascript">$(function () {//添加对话框,上传控件初始化$('#fb').filebox({buttonText: '选择文件', //按钮文本buttonAlign: 'right', //按钮对齐//multiple: true, //是否多文件方式accept: 'application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', //指定文件类型onChange: function (e) {change(this);//上传处理}});});function change(_obj){var tempFile = $("#fb");var value=tempFile.filebox('getValue');// 取后缀名var ext=value.substring(value.lastIndexOf(".")+1).toLowerCase();if((ext!='xls') && (ext!='xlsx')){$.messager.alert("消息提示", "文件格式需为*.xls或*.xlsx 类型", "error");$('#fb').filebox('setValue','');return;}}function submitForm(){}</script>
代码解析:
第一步:
在选择文件时,自动将文件限制为 *.xls 或 *.xlsx 的类型可见。效果:
实现:设置 accept 属性
(1)在 HTML 中设置
<input class="easyui-filebox" id="fb" name="fb" type="text" style="width: 300px; height: 32px;"
data-options="accept:'application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'">
(2)在 JS 中设置
<script type="text/javascript">$(function () {//添加对话框,上传控件初始化$('#fb').filebox({buttonText: '选择文件', //按钮文本buttonAlign: 'right', //按钮对齐//multiple: true, //是否多文件方式accept: 'application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', //指定文件类型onChange: function (e) {change(this);//上传处理}});});
</script>
第二步:
变更上传文件后,进行判断,如果不是 *.xls 或 *.xlsx 的类型,则提示错误,并清空 filebox 。
<script type="text/javascript">$(function () {//添加对话框,上传控件初始化$('#fb').filebox({buttonText: '选择文件', //按钮文本buttonAlign: 'right', //按钮对齐//multiple: true, //是否多文件方式accept: 'application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', //指定文件类型onChange: function (e) {change(this);//上传处理}});});function change(_obj){var tempFile = $("#fb");var value=tempFile.filebox('getValue');// 取后缀名var ext=value.substring(value.lastIndexOf(".")+1).toLowerCase();if((ext!='xls') && (ext!='xlsx')){$.messager.alert("消息提示", "文件格式需为*.xls或*.xlsx 类型", "error");$('#fb').filebox('setValue','');// 清空fileboxreturn;}}</script>
三、笔记扩展
EasyUI 中 filebox 的 accept 属性值汇总
类型 | accept 值 | 描述 |
*.3gpp | audio/3gpp, video/3gpp | 3GPP Audio/Video |
*.ac3 | audio/ac3 | AC3 Audio |
*.asf | allpication/vnd.ms-asf | Advanced Streaming Format |
*.au | audio/basic | AU Audio |
*.css | text/css | Cascading Style Sheets |
*.csv | text/csv | Comma Separated Values |
*.doc | application/msword | MS Word Document |
*.dot | application/msword | MS Word Template |
*.dtd | application/xml-dtd | Document Type Definition |
*.dwg | image/vnd.dwg | AutoCAD Drawing Database |
*.dxf | image/vnd.dxf | AutoCAD Drawing Interchange Format |
*.gif | image/gif | Graphic Interchange Format |
*.htm | text/html | HyperText Markup Language |
*.html | text/html | HyperText Markup Language |
*.jp2 | image/jp2 | JPEG-2000 |
*.jpe | image/jpeg | JPEG |
*.jpeg | image/jpeg | JPEG |
*.jpg | image/jpeg | JPEG |
*.js | text/javascript, application/javascript | JavaScript |
*.json | application/json | JavaScript Object Notation |
*.mp2 | audio/mpeg, video/mpeg | MPEG Audio/Video Stream, Layer II |
*.mp3 | audio/mpeg | MPEG Audio Stream, Layer III |
*.mp4 | audio/mp4, video/mp4 | MPEG-4 Audio/Video |
*.mpeg | video/mpeg | MPEG Video Stream, Layer II |
*.mpg | video/mpeg | MPEG Video Stream, Layer II |
*.mpp | application/vnd.ms-project | MS Project Project |
*.ogg | application/ogg, audio/ogg | Ogg Vorbis |
application/pdf | Portable Document Format | |
*.png | image/png | Portable Network Graphics |
*.pot | application/vnd.ms-powerpoint | MS PowerPoint Template |
*.pps | application/vnd.ms-powerpoint | MS PowerPoint Slideshow |
*.ppt | application/vnd.ms-powerpoint | MS PowerPoint Presentation |
*.rtf | application/rtf, text/rtf | Rich Text Format |
*.svf | image/vnd.svf | Simple Vector Format |
*.tif | image/tiff | Tagged Image Format File |
*.tiff | image/tiff | Tagged Image Format File |
*.txt | text/plain | Plain Text |
*.wdb | application/vnd.ms-works | MS Works Database |
*.wps | application/vnd.ms-works | Works Text Document |
*.xhtml | application/xhtml+xml | Extensible HyperText Markup Language |
*.xlc | application/vnd.ms-excel | MS Excel Chart |
*.xlm | application/vnd.ms-excel | MS Excel Macro |
*.xls | application/vnd.ms-excel | MS Excel Spreadsheet |
*.xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | MS Excel Office 2007+ XML |
*.xlt | application/vnd.ms-excel | MS Excel Template |
*.xlw | application/vnd.ms-excel | MS Excel Workspace |
*.xml | text/xml, application/xml | Extensible Markup Language |
*.zip | aplication/zip | Compressed Archive |
限制多种文件类型,用英文逗号将其隔开即可。 如:
accept: "image/gif,image/bmp,image/jpeg,image/jpg,image/png",
其实,我有一种更加简单的方法,就是accept=".xls,.xlsx",这样的设置已经能满足我最初的需求了,至于为什么没看到有人这么用,我就不是很明白,欢迎大神评论啦。
EasyUI filebox 限制文件上传的类型相关推荐
- js判断文件上传的类型
js判断文件上传的类型 /*** @param: fileName - 文件名称* @param: 数据返回 1) 无后缀匹配 - false* @param: 数据返回 2) 匹配图片 - imag ...
- Vue.js 文件上传限制类型上传与限制选择的文件类型
只能限制某种文件上传,如果新选择其他文件便提示文件错误,清空文件列表 :accept="'.pdf'" ---> 选择上传文件的时候自动匹配pdf的文件类型 :file-li ...
- 个人使用向1:文件上传的类型限制思考
数据 通过输入输出来进行交互,对应数据最后保存到数据库中.那么对应文件,excel跟图片就没办法都放在数据库.当然图片可以通过BASE64也能进数据库,只是没有那么适用性. 目前文件上传一般是分二种, ...
- php 文件上传mime 类型,php文件上传类型(MIME)对照表
网上有很多php文件上传的类,文件上传处理是php的一个特色(至少手册上是将此作为php特点来展示的,个人认为php在数组方面的优异功能更有特色),学php的人都知道文件上传怎么做,但很多人在编程中却 ...
- php 文件上传mime 类型,PHP JAVA C上传文件如何准确判断文件类型-mime知识普及
MIME的英文全称是"Multipurpose Internet Mail Extensions" 多功能Internet 邮件扩充服务,它是一种多用途网际邮件扩充协议,在1992 ...
- 文件上传限制类型参考
文件类型限制参考 在上传文件过程中,设计需求上这边总是需要对上传文件进行限制和判断,避免用户的盲操作,导致上传文件类型不对后,无法得到正确的信息,造成不好的体验影响,所以在页面上我们需要对文件类型做判 ...
- input文件上传限制(类型,大小)
1.限制上传文件类型解决办法是可以给它添加一个accept属性,比如: <input id="File1" type="file" accept=&quo ...
- php 文件上传mime 类型,php 上传的MIME类型
一下是文件后缀与MIME类型的对照表 123 application/vnd.lotus-1-2-3 3gp video/3gpp A开头: aab application/x-authowar ...
- html文件上传限制类型,html input file accept 上传文件类型限制格式 MIME 类型列表
单点登录改进版-使用ajax分发cookie避免重定向轮询 前言 继上一篇博文:可跨域的单点登录(SSO)实现方案[附.net代码]虽然实现了单点登录,也存在很多不合理的地方.很多热心的朋友也给出了很 ...
- jsp文件通常用common_29.jsp-动态生活之用Commons-FileUpload组件控制文件上传
sizeMax):设置请求信息实体内容的最大允许的字节数 ★ public List parseRequest(HttpServletRequest req): 解析form表单中的每个字符的数据,返 ...
最新文章
- 我们使用Leangoo敏捷实践分享
- 页面乱码及页面传值出现乱码
- python中提供怎样的内置库、可以用来创建用户界面_使用外部GUI库在Autodesk中创建用户界面可能会...
- 用字典给Model赋值
- php 分表 实战,PHP实战:1亿条数据如何分表100张到Mysql数据库中(PHP)
- main方法中args_public static void main(String [] args)– Java main方法
- POJ 3461 Oulipo
- excel制作跨职能流程图_你会用Excel制作流程图吗?超级强大的功能
- TCP连接建立与释放
- 安卓app执行linux命令,如何在android程序中执行adb shell指令
- Linux 内核进程管理之进程ID【转】
- psftp的简单使用
- LeaRun低代码平台快速开发工程项目管理软件
- Vscode配置C++(一步一步图文详解)
- 《非理性繁荣》读书笔记优秀作文5000字
- 数字IC面试总结(大厂面试经验分享)
- pmp考试是什么?有没有含金量?值得考吗?(附2023 年考试时间、备考资料)
- 伯德图 matlab,matlab画三维伯德图,bode图
- Revit启动后,如何把你的命令显示在Revit的Ribbon(工具栏)上?
- 最全的免费OA试用地址
热门文章
- 游戏里的角色都什么格式图片_格斗游戏拳皇里的八神庵,为什么在玩家心中人气一直都很高...
- 十四首中国现代诗巅峰之作
- VUE之多元素组件过渡+动画封装
- android bugly 错误分析,# app 3.6.1 Bugly中崩溃分析
- 双赛道近四百万奖金,2021全国人工智能大赛来了
- 程序员应知必会的思维模型之 13 侯世达定律 (Hofstadter‘s Law)
- 电动汽车的数据记录 BMS
- 函数柯里化curry 与合成函数 compose
- 狂神说java-Mybatis
- 翠竹林 Java 实现对Sql语句解析