- 浏览: 7936038 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在HTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以
马上校验文件的大小和属性等,这其实时得益于浏览器端新增的对文件的校验能力,其中
支持HTML 5的浏览器,都会实现W3C实现的文件API标准,其中可以读取客户端
文件的各种信息和参数。
下面的例子如下,首先是HTML 界面端的
<input type="file" data-file_type="zip|png" data-max_size="1000000">
这里data-file_type属性中,指定了文件的类型,接受ZIP,PNG文件,用|分隔开来,
其中data-max-size指定文件的大小,这里是1MB。
然后使用jquery 进行判断
在上面的代码中, var mimes = get_mimes(file_types);
其实是一个方法,如下:
这里其实就是将ZIP,PNG这样的类型传入,然后返回一个这类文件对应的MIME/TYPE,
比如定义一个
mime_types数组,如下:
var mime_types = {
"gif":"image\/gif",
"jpeg":["image\/jpeg","image\/pjpeg"],
"jpg":["image\/jpeg","image\/pjpeg"],
"jpe":["image\/jpeg","image\/pjpeg"],
"png":["image\/png","image\/x-png"],
..................
}
重点关注的是HTML 5中,新的文件API,可以在客户端马上判断文件类型,如下:
var files = evt.target.files; // 获得文件对象,是一个集合,可以有多个文件
var file_count = files.length; //文件长度
var file_1 = files[0]; // or files.item(0);这里获得多个文件中的第一个文件
var name = file_1.name; //获得文件名
var size = file_1.size;//获得文件大小
var type = file_1.type; //文件类型
var lastModifiedDate = file_1.lastModifiedDate; //文件修改时间
详细的关于HTML 5文件上传的,见:
http://www.w3.org/TR/file-upload/.
马上校验文件的大小和属性等,这其实时得益于浏览器端新增的对文件的校验能力,其中
支持HTML 5的浏览器,都会实现W3C实现的文件API标准,其中可以读取客户端
文件的各种信息和参数。
下面的例子如下,首先是HTML 界面端的
<input type="file" data-file_type="zip|png" data-max_size="1000000">
这里data-file_type属性中,指定了文件的类型,接受ZIP,PNG文件,用|分隔开来,
其中data-max-size指定文件的大小,这里是1MB。
然后使用jquery 进行判断
$('input[type=file]').each(function() { if(typeof $(this).attr('data-file_type') == 'string') { var file_types = $(this).attr('data-file_type').split('|'); } var mimes = get_mimes(file_types); //文件要求的指定大小 var max_size = parseInt($(this).attr('data-max_size')); $(this).change(function(evt) { var finput = $(this); var files = evt.target.files; // 获得文件对象 var output = []; for (var i = 0, f; f = files[i]; i++) { //检查文件的类型是否符合指定要求 if(jQuery.inArray(f.type , mimes) == -1) { alert('File type '+ f.type + ' not allowed'); $(this).val(''); continue; } //检查文件大小 else if(f.size > max_size) { alert('Maximum file size is ' + max_size + ' bytes.'); $(this).val(''); } //Validation ok else { output.push('[b]', f.name, '[/b] (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate.toLocaleDateString() ); } } finput.after('<div>' + output.join('') + '</div>'); }); });
在上面的代码中, var mimes = get_mimes(file_types);
其实是一个方法,如下:
/* Get the mimes of a list of extensions as an array */ function get_mimes(extensions) { var mimes = []; for(var i in extensions) { var ext = extensions[i]; if(ext in mime_types) { var mime = mime_types[ext]; if($.isArray(mime)) { jQuery.merge(mimes , mime); } else { mimes.push(mime); } } } return mimes; }
这里其实就是将ZIP,PNG这样的类型传入,然后返回一个这类文件对应的MIME/TYPE,
比如定义一个
mime_types数组,如下:
var mime_types = {
"gif":"image\/gif",
"jpeg":["image\/jpeg","image\/pjpeg"],
"jpg":["image\/jpeg","image\/pjpeg"],
"jpe":["image\/jpeg","image\/pjpeg"],
"png":["image\/png","image\/x-png"],
..................
}
重点关注的是HTML 5中,新的文件API,可以在客户端马上判断文件类型,如下:
var files = evt.target.files; // 获得文件对象,是一个集合,可以有多个文件
var file_count = files.length; //文件长度
var file_1 = files[0]; // or files.item(0);这里获得多个文件中的第一个文件
var name = file_1.name; //获得文件名
var size = file_1.size;//获得文件大小
var type = file_1.type; //文件类型
var lastModifiedDate = file_1.lastModifiedDate; //文件修改时间
详细的关于HTML 5文件上传的,见:
http://www.w3.org/TR/file-upload/.
发表评论
-
微信开发工具中时间问题的小坑
2018-02-07 19:07 816刚开始用微信小程序开发工具,每次运行任何应用,都报这个错误: ... -
三篇不错的介绍CSS GRID的文章
2017-12-06 09:08 533三篇不错的介绍CSS GRID的文章: http://www. ... -
双因素认证(2FA)教程
2017-11-03 09:16 1570http://www.ruanyifeng.com/blog/ ... -
es6 中的export
2017-08-20 08:00 814https://juejin.im/post/5998625f ... -
markdown中的空格
2017-08-20 07:53 1694即使手动输入空格, 也是很不推荐的方法。我推荐全角空格,切换 ... -
(转)讲真,别再使用JWT了
2017-08-17 23:21 1007不错的好文: http://insights.thoughtw ... -
(转)手把手教你WebStorm+chrome实现时时调试刷新
2017-08-15 10:50 3019参考: http://jingyan.baidu.com/ar ... -
IntelliJ Idea 2017 免费激活方法
2017-08-15 09:38 93121. 到网站 http://idea.lanyus.com/ ... -
前端框架这么多,该何去何从?
2017-08-04 07:17 645http://insights.thoughtworkers. ... -
记录一个HTML 5画拓扑图的商业公司
2017-07-18 19:56 844http://qunee.com/ DEMO:http:// ... -
vue 2例子学习收集
2017-07-16 11:46 9981 vue2.0手撸闲鱼App https://githu ... -
(收藏)虚拟DOM内部是如何工作的
2017-07-13 22:08 588虚拟DOM内部是如何工作的 https://segmentfa ... -
最近看到的几篇精彩JAVASCRIPT博客文章推荐
2017-07-11 07:10 562【深度长文】JavaScript数组所有API全解密 http ... -
jsonp 跨域原理:深入浅出 jsonp
2017-07-10 19:55 1427https://lzw.me/a/jsonp.html jso ... -
(转)深度长文-JavaScript数组所有API全解密
2017-07-08 19:59 817深度长文-JavaScript数组所有API全解密 http: ... -
(收藏)网页导出PDF的方案
2017-07-06 07:13 960(收藏)网页导出PDF的方案 https://yiqiwuli ... -
Chromium 新的弹窗机制以及 HTML 的 <dialog> 元素
2017-06-28 12:37 1144https://juejin.im/post/59525195 ... -
国内一个不错的大屏UI设计厂家
2017-06-03 19:43 3156http://www.lanlanwork.com/dp.ph ... -
canvas仿芝麻信用分仪表盘
2017-05-28 20:21 1584canvas仿芝麻信用分仪表盘 https://segment ... -
(转)CSS 变量教程
2017-05-10 21:12 573http://www.ruanyifeng.com/blog/ ...
相关推荐
在HTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以 马上校验文件的大小和属性等。本文章向码农介绍html5 如何实现客户端验证上传文件的大小,感兴趣的码农可以参考一下。 在HTML 5中,...
然而,为了确保数据安全性和服务端资源的有效利用,通常需要在文件上传前进行客户端验证。客户端验证可以提供即时反馈,减少不必要的服务器请求,并提高用户体验。 一、FileUpload控件基本使用 FileUpload控件在...
- 接收文件:服务器端通常使用Node.js、Python、Java等语言编写接口接收文件,接收过程中可能需要验证文件类型、大小等。 - 文件存储:上传的文件可以存储在硬盘、数据库或云存储服务(如AWS S3、阿里云OSS)上。 ...
在提供的压缩包文件名"plupload"中,Plupload是一个强大的跨浏览器文件上传组件,它支持多种上传方式,包括传统的多文件上传、HTML5的Chunked上传以及Flash等。Plupload内置了客户端文件大小检查的功能,可以轻松...
在这个场景中,我们关注的是“文件上传 (服务端+客户端)”,这通常涉及到一个完整的流程,包括客户端的文件选择和提交,以及服务端的接收和处理。 在客户端,文件上传主要涉及HTML和JavaScript技术。HTML5引入了`...
【文件批量上传客户端免费组件】是一款基于ASP技术开发的实用工具,主要针对网站或服务器的文件上传需求,尤其适用于需要处理大量文件上传的场景。ASP(Active Server Pages)是微软公司开发的一种服务器端脚本环境...
因为客户端验证可以被绕过,所以务必要在服务器端进行同样的文件类型和大小检查,以保障应用的安全性。 在实际项目中,你可能还需要处理多文件上传、进度条显示、错误提示等复杂情况。`jQuery`本身并不直接支持这些...
// 验证文件大小 if (file.size > 1048576) { alert('文件过大,不能超过1MB!'); return; } // 其他处理逻辑... } ``` 在这个例子中,我们假设有一个`<p>`元素用于显示文件大小,ID为`file-size-display`。 ...
特别是在文件上传场景中,如果能在用户提交前检查文件的大小和类型,可以避免无效的上传请求,减少错误反馈,提升系统的整体性能。以下是对标题和描述中涉及的知识点的详细解释: 1. **客户端验证**: 客户端验证...
标题 "本地上传图片预览,并客户端判断文件大小和文件格式" 涉及到的是在Web开发中处理用户上传图片时的关键技术。这个过程通常包括前端的图片预览功能、客户端的文件大小和格式检查,以及相关的错误处理。以下是对...
### 通过客户端验证上传图片文件大小的ASP:知识点解析 #### 一、ASP与客户端验证的概念 1. **ASP(Active Server Pages)**:是一种服务器端脚本环境,用于创建和运行动态、交互式 Web 应用程序。在 ASP 中,可以...
在本项目中,Webuploader被用来实现代理文件上传的基本功能。它的主要特性包括: 1. **多文件选择**:用户可以通过文件选择对话框一次性选取多个文件进行上传。 2. **文件预览**:在上传之前,用户可以预览选定的...
在实际开发中,"fileUploader_html5-master"可能是一个完整的HTML5文件上传示例项目,包含了JavaScript代码和相关的HTML结构,用于演示如何实现上述功能。开发者可以通过研究这个项目,学习如何运用HTML5的File API...
在这个场景下,ASP可能用来处理前端上传的文件,比如接收文件,验证文件类型和大小,将文件保存到服务器的指定位置,以及可能的数据处理和存储。 3. **Ajax (Asynchronous JavaScript and XML)**: Ajax技术使得前端...
在Java的Struts框架中,文件上传和客户端验证是两个重要的功能,对于构建Web应用程序至关重要。Struts作为Java SSH(Spring、Struts、Hibernate)三大框架之一,提供了一种结构化的方式来开发MVC(Model-View-...
在Asp.Net中,我们还可以通过配置`web.config`文件来限制整个应用程序或特定表单的文件上传大小。在`<system.web>`节下添加以下配置: ```xml ``` 这将限制每个请求的大小为1MB。请注意,`maxRequestLength`单位...
尽管现代浏览器已经普遍支持HTML5的`<input type="file">`的多文件上传,但SWFUpload在处理大文件和老版本浏览器时仍有其优势。 使用SWFUpload,你可以集成上述的JS验证逻辑,同时利用Flash插件提供更好的用户体验...
在实际应用中,为了确保安全性,开发者还需要考虑防止恶意文件上传,如限制文件类型、检查文件头部信息、设置上传大小限制等。此外,为了保证服务的稳定性和可扩展性,可能需要考虑异步处理、队列系统以及分布式文件...