upload_interface.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. function te_upload_interface() {
  2. //初始化参数
  3. var _args = arguments,
  4. _fn = _args.callee,
  5. _data = '';
  6. if( _args[0] == 'reg' ) {
  7. //注册回调
  8. _data = _args[1];
  9. _fn.curr = _data['callid'];
  10. _fn.data = _data;
  11. jQuery('#temaxsize').val(_data['maxsize']);
  12. } else if( _args[0] == 'get' ) {
  13. //获取配置
  14. return _fn.data || false;
  15. } else if( _args[0] == 'call' ) {
  16. //处理回调与实例不一致
  17. if( _args[1] != _fn.curr ) {
  18. alert( '上传出错,请不要同时打开多个上传弹窗' );
  19. return false;
  20. }
  21. //上传成功
  22. if( _args[2] == 'success' ) {
  23. _fn.data['callback']( _args[3] );
  24. }
  25. //上传失败
  26. else if( _args[2] == 'failure' ) {
  27. alert( '[上传失败]\n错误信息:'+_args[3] );
  28. }
  29. //文件类型检测错误
  30. else if( _args[2] == 'filetype' ) {
  31. alert( '[上传失败]\n错误信息:您上传的文件类型有误' );
  32. }
  33. //处理状态改变
  34. else if( _args[2] == 'change' ) {
  35. // TODO 更细致的回调实现,此处返回true自动提交
  36. return true;
  37. }
  38. }
  39. }
  40. //用户选择文件时
  41. function checkTypes(id){
  42. //校验文件类型
  43. var filename = document.getElementById( 'teupload' ).value,
  44. filetype = document.getElementById( 'tefiletype' ).value.split( ',' );
  45. currtype = filename.split( '.' ).pop(),
  46. checktype = false;
  47. if( filetype[0] == '*' ) {
  48. checktype = true;
  49. } else {
  50. for(var i=0; i<filetype.length; i++) {
  51. if( currtype == filetype[i] ) {
  52. checktype = true;
  53. break;
  54. }
  55. }
  56. }
  57. if( !checktype ) {
  58. alert( '[上传失败]\n错误信息:您上传的文件类型有误' );
  59. return false;
  60. } else {
  61. //校验通过,提交
  62. jQuery('#'+id).submit()
  63. }
  64. }