日期:2014-05-17 浏览次数:20635 次
$('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>'); }); });
/* 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; }