insertfile.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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,
  49. item,
  50. icon,
  51. title,
  52. html = "",
  53. URL = me.getOpt("UEDITOR_HOME_URL"),
  54. iconDir =
  55. URL +
  56. (URL.substr(URL.length - 1) == "/" ? "" : "/") +
  57. "dialogs/attachment/fileTypeImages/";
  58. for (i = 0; i < filelist.length; i++) {
  59. item = filelist[i];
  60. icon = iconDir + getFileIcon(item.url);
  61. title =
  62. item.title || item.url.substr(item.url.lastIndexOf("/") + 1);
  63. html +=
  64. '<p style="line-height: 16px;">' +
  65. '<img style="vertical-align: middle; margin-right: 2px;" src="' +
  66. icon +
  67. '" _src="' +
  68. icon +
  69. '" />' +
  70. '<a style="font-size:12px; color:#0066cc;" href="' +
  71. item.url +
  72. '" title="' +
  73. title +
  74. '">' +
  75. title +
  76. "</a>" +
  77. "</p>";
  78. }
  79. me.execCommand("insertHtml", html);
  80. me.fireEvent("afterinsertfile", filelist);
  81. }
  82. }
  83. }
  84. };
  85. });