insertfile.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /**
  2. * 插入附件
  3. */
  4. UE.plugin.register('insertfile', function (){
  5. var me = this;
  6. function getFileIcon(url){
  7. var ext = url.substr(url.lastIndexOf('.') + 1).toLowerCase(),
  8. maps = {
  9. "rar":"icon_rar.gif",
  10. "zip":"icon_rar.gif",
  11. "tar":"icon_rar.gif",
  12. "gz":"icon_rar.gif",
  13. "bz2":"icon_rar.gif",
  14. "doc":"icon_doc.gif",
  15. "docx":"icon_doc.gif",
  16. "pdf":"icon_pdf.gif",
  17. "mp3":"icon_mp3.gif",
  18. "xls":"icon_xls.gif",
  19. "chm":"icon_chm.gif",
  20. "ppt":"icon_ppt.gif",
  21. "pptx":"icon_ppt.gif",
  22. "avi":"icon_mv.gif",
  23. "rmvb":"icon_mv.gif",
  24. "wmv":"icon_mv.gif",
  25. "flv":"icon_mv.gif",
  26. "swf":"icon_mv.gif",
  27. "rm":"icon_mv.gif",
  28. "exe":"icon_exe.gif",
  29. "psd":"icon_psd.gif",
  30. "txt":"icon_txt.gif",
  31. "jpg":"icon_jpg.gif",
  32. "png":"icon_jpg.gif",
  33. "jpeg":"icon_jpg.gif",
  34. "gif":"icon_jpg.gif",
  35. "ico":"icon_jpg.gif",
  36. "bmp":"icon_jpg.gif"
  37. };
  38. return maps[ext] ? maps[ext]:maps['txt'];
  39. }
  40. return {
  41. commands:{
  42. 'insertfile': {
  43. execCommand: function (command, filelist){
  44. filelist = utils.isArray(filelist) ? filelist : [filelist];
  45. if(me.fireEvent('beforeinsertfile',filelist) === true){
  46. return;
  47. }
  48. var i, item, icon, title,
  49. html = '',
  50. URL = me.getOpt('UEDITOR_HOME_URL'),
  51. iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/';
  52. for (i = 0; i < filelist.length; i++) {
  53. item = filelist[i];
  54. icon = iconDir + getFileIcon(item.url);
  55. title = item.title || item.url.substr(item.url.lastIndexOf('/') + 1);
  56. html += '<p style="line-height: 16px;">' +
  57. '<img style="vertical-align: middle; margin-right: 2px;" src="'+ icon + '" _src="' + icon + '" />' +
  58. '<a style="font-size:12px; color:#0066cc;" href="' + item.url +'" title="' + title + '">' + title + '</a>' +
  59. '</p>';
  60. }
  61. me.execCommand('insertHtml', html);
  62. me.fireEvent('afterinsertfile',filelist);
  63. }
  64. }
  65. }
  66. }
  67. });