如何限制附件上传的文件大小?
李小翔
2015-04-11 12:12

内容列表

默认情况下，由于支持分段上传、断点续传，因此系统不限制附件上传的大小。
但是如果考虑系统存储空间、性能等问题，可以通过事件对附件大小进行控制，示例代码如下。
/**
 * 限制附件上传大小
 */
fileUploader.bind( ”FilesAdded”, function( up, files ) { 
var error = [];
for ( var i=0; i<files.length; i++ ) { 
 var f = files[i],
   ext = f.name.replace(/^.+\ .([^.]+)$/g, ”$1”);
 // 图片，不允许超过2M
  if ( /^jpg|jpeg|bmp|png|gif$/g.test(ext) ) { 
  if ( f.size > 2 * 1024 * 1024 ) { 
    up.removeFile( f );
    error.push(”图片文件 “” + f.name + ”” 大小超过2M，不允许上传。”)
   } 
  } 
 // 文档，不允许超过20M
  else if ( /^doc|docx|xls|xlsx|ppt|pptx|pdf|zip|rar$/g.test(ext) ) { 
  if ( f.size > 20 * 1024 * 1024 ) { 
    up.removeFile( f );
    error.push(”文件 “” + f.name + ”” 大小超过20M，不允许上传。”)
   } 
  } 
 } 
if ( error.length ) { 
  up.widget.notify(”error”, error.join(”<br/>”));
 } 
} );