默认情况下,文件上传完成后,文件说明处为空值。但是但多的状况这边是需要显示文件的名称。所所以就在数据回填的时候把文件的名称返回了。效果如图:
要实现这个效果,需要修改两个文件。
1.upload_json.jsp
JSONObject obj = new JSONObject();
obj.put("error", 0); obj.put("url", saveUrl + newFileName); obj.put("title", fileName); System.out.println(fileName); out.println(obj.toJSONString());2./kindeditor-4.1.7/plugins/insertfile/insertfile.js 文件,修改为如下
/*******************************************************************************
* KindEditor - WYSIWYG HTML Editor for Internet * Copyright (C) 2006-2011 kindsoft.net * * Roddy < > * * @licence *******************************************************************************/KindEditor.plugin('insertfile', function(K) {
var self = this, name = 'insertfile', allowFileUpload = K.undef(self.allowFileUpload, true), allowFileManager = K.undef(self.allowFileManager, false), formatUploadUrl = K.undef(self.formatUploadUrl, true), uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), extraParams = K.undef(self.extraFileUploadParams, {}), filePostName = K.undef(self.filePostName, 'imgFile'), lang = self.lang(name + '.'); self.plugin.fileDialog = function(options) { var fileUrl = K.undef(options.fileUrl, 'http://'), fileTitle = K.undef(options.fileTitle, ''), clickFn = options.clickFn; var html = [ '<div style="padding:20px;">', '<div class="ke-dialog-row">', '<label for="keUrl" style="width:60px;">' + lang.url + '</label>', '<input type="text" id="keUrl" name="url" class="ke-input-text" style="width:160px;" /> ', '<input type="button" class="ke-upload-button" value="' + lang.upload + '" /> ', '<span class="ke-button-common ke-button-outer">', '<input type="button" class="ke-button-common ke-button" name="viewServer" value="' + lang.viewServer + '" />', '</span>', '</div>', //title '<div class="ke-dialog-row">', '<label for="keTitle" style="width:60px;">' + lang.title + '</label>', '<input type="text" id="keTitle" class="ke-input-text" name="title" value="" style="width:160px;" /></div>', '</div>', //form end '</form>', '</div>' ].join(''); var dialog = self.createDialog({ name : name, width : 450, title : self.lang(name), body : html, yesBtn : { name : self.lang('yes'), click : function(e) { var url = K.trim(urlBox.val()), title = titleBox.val(); var str="<img width='15px' src='http://demo.sc.chinaz.com/Files/pic/iconsico/dn_wj_65/blue%20folder%20+%20doc.ico' alt='"+title+"'/>"; title=str+" "+title; if (url == 'http://' || K.invalidUrl(url)) { alert(self.lang('invalidUrl')); urlBox[0].focus(); return; } if (K.trim(title) === '') { title = url; } clickFn.call(self, url, title); } } }), div = dialog.div;var urlBox = K('[name="url"]', div),
viewServerBtn = K('[name="viewServer"]', div), titleBox = K('[name="title"]', div);if (allowFileUpload) {
var uploadbutton = K.uploadbutton({ button : K('.ke-upload-button', div)[0], fieldName : filePostName, url : K.addParam(uploadJson, 'dir=file'), extraParams : extraParams, afterUpload : function(data) { dialog.hideLoading(); if (data.error === 0) { var url = data.url; var title = data.title; if (formatUploadUrl) { url = K.formatUrl(url, 'absolute'); } urlBox.val(url); titleBox.val(title); if (self.afterUpload) { self.afterUpload.call(self, url, data, name); } alert(self.lang('uploadSuccess')); } else { alert(data.message); } }, afterError : function(html) { dialog.hideLoading(); self.errorDialog(html); } }); uploadbutton.fileBox.change(function(e) { dialog.showLoading(self.lang('uploadLoading')); uploadbutton.submit(); }); } else { K('.ke-upload-button', div).hide(); } if (allowFileManager) { viewServerBtn.click(function(e) { self.loadPlugin('filemanager', function() { self.plugin.filemanagerDialog({ viewType : 'LIST', dirName : 'file', clickFn : function(url, title) { if (self.dialogs.length > 1) { K('[name="url"]', div).val(url); if (self.afterSelectFile) { self.afterSelectFile.call(self, url); } self.hideDialog(); } } }); }); }); } else { viewServerBtn.hide(); } urlBox.val(fileUrl); titleBox.val(fileTitle); urlBox[0].focus(); urlBox[0].select(); }; self.clickToolbar(name, function() { self.plugin.fileDialog({ clickFn : function(url, title) { var html = '<a class="ke-insertfile" href="' + url + '" data-ke-src="' + url + '" target="_blank">' + title + '</a>'; self.insertHtml(html).hideDialog().focus(); } }); }); });