在HTML 5中,如今能够在顾客端开展文档提交时的校检了,例如客户挑选文档后,能够 立刻校检文档的尺寸和特性等。本文章内容向码农详细介绍html5 怎样完成顾客端认证提交文档的尺寸,感兴趣爱好的码农能够参照1下。
在HTML 5中,如今能够在顾客端开展文档提交时的校检了,例如客户挑选文档后,能够立刻校检文档的尺寸和特性等,这实际上时得益于访问器端新增的对文档的校检工作能力,在其中适用HTML 5的访问器,都会完成W3C完成的文档API规范,在其中能够载入顾客端文档的各种各样信息内容和主要参数。
下面的事例以下,最先是HTML
XML/HTML Code拷贝內容到剪贴板
- <input type="file" data-file_type="zip|png" data-max_size="1000000">
-
这里data-file_type特性中,特定了文档的种类,接纳ZIP,PNG文档,用|隔开起来,在其中data-max-size特定文档的尺寸,这里是1MB。随后应用jquery 开展分辨
JavaScript Code拷贝內容到剪贴板
- $('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) == ⑴)
- {
- 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('');
- }
-
-
- 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); 实际上是1个方式,以下:
JavaScript Code拷贝內容到剪贴板
-
-
-
- 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这样的种类传入,随后回到1个这类文档对应的MIME/TYPE,例如界定1个 mime_types数字能量数组,以下:
JavaScript Code拷贝內容到剪贴板
- 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,能够在顾客端立刻分辨文档种类,以下:
XML/HTML Code拷贝內容到剪贴板
- var files = evt.target.files; // 得到文档目标,是1个结合,能够有好几个文档
- var file_count = files.length; //文档长度
-
- var file_1 = files[0]; // or files.item(0);这里得到好几个文档中的第1个文档
-
- 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/
以上这篇html5 完成顾客端认证提交文档的尺寸(简易案例)便是网编共享给大伙儿的所有內容了,期待能给大伙儿1个参照,也期待大伙儿多多适用脚本制作之家。
原文详细地址:http://www.manongjc.com/article/814.html