我通过引用他们网站的文档整合了CKEditor和CKFinder。
在那里,我成功上传了不同类型的文档,pdf和图像。但每次上传文档时,生成的链接都是
/Project_folder/files/0321832051(3).pdf
但我必须只显示文件名,并且该文件应该有一个链接。 例如0321832051(3).pdf 当我点击该链接时,它应该是打开的。 我在谷歌搜索但我没有得到它的解决方案。有没有人尝试过。如果有人知道,请告诉我。
为此,我使用ckeditor和ckfinder asp.net
有没有人知道这个?
答案 0 :(得分:3)
在下面的黑客中将“editor1”替换为您的编辑器名称,或者在加载CKE js后攻击您拥有的任何系统。它的作用是监听对话框关闭,当它看到链接对话框被隐藏并且当前选择以<a...>
链接开始时,它将获取所述链接的内容并从最终斜杠中删除它。 / p>
var editor = CKEDITOR.instances.editor1;
editor.on('dialogHide', function(e) {
if(e.data.getName() === "link") {
var sel = editor.getSelection();
var se = sel.getStartElement();
var text = se.getText();
if(se.getName() === "a") {
var newtext = text.slice(text.lastIndexOf('/')+1);
se.setText(newtext);
}
}
});
它既复杂又恶心,但似乎有效。 请注意,我没有测试过它,如果它打破其他任何东西,如锚定。更多检查会更好,例如检查newtext是否实际获得值&gt; 1然后才更换。
答案 1 :(得分:0)
我认为你应该手动将它们包装在html PREVIEW中作为
`<a href='/folder/uploaded_files/abc.pdf'>SomeText</a>.`
应该做的伎俩
答案 2 :(得分:0)
使用CKEDITOR
,你可以这样做:
string mytext = "hello world :)";
CKEDITOR.instances.editor1.insertHtml( '<a href="mylink">' + mytext + '</a>' );
答案 3 :(得分:0)
使用CKEDITOR
,您也可以使用style
:
var attributes = Array();
attributes["href"] = link; //your link
var style = new CKEDITOR.style( { element : 'a', attributes : attributes } );
style.type = CKEDITOR.STYLE_INLINE;
style.apply(editor.document);