我将 CKEditor 用于我的 asp.net C# 项目。如何为编辑器启用图像上传选项卡。我阅读了一些文章,但没有一篇有用。其中一些用于 php。我想要asp.net。谢谢你的帮忙。
问问题
20659 次
3 回答
6
我确实喜欢http://www.codedigest.com/Articles/ASPNET/423_Upload_Images_and_Integrate_with_CKeditor_in_AspNet.aspx letutorial for Using filebrowserImageUploadUrl property with our own implementation of a file uploader。但是没有出现上传按钮,也没有发生任何事情。我的代码在这里:
<head runat="server">
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="ckeditor/ckeditor.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
CKEDITOR.replace('<%=CKEditor1.ClientID %>', { filebrowserImageUploadUrl: '/Upload.ashx' });
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<CKEditor:CKEditorControl ID="CKEditor1" BasePath="~/ckeditor/" runat="server" Width="600px" Height="200px"></CKEditor:CKEditorControl>
</div>
</form>
</body>
</html>
和 ashx 文件:
<%@ WebHandler Language="C#" Class="Upload" %>
using System;
using System.Web;
public class Upload : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpPostedFile uploads = context.Request.Files["upload"];
string CKEditorFuncNum = context.Request["CKEditorFuncNum"];
string file = System.IO.Path.GetFileName(uploads.FileName);
uploads.SaveAs(context.Server.MapPath(".") + "\\Images\\" + file);
string url = "/Images/" + file;
context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>");
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
}
}
于 2013-05-06T07:43:28.670 回答
1
如果您只想启用隐藏选项卡,请仅在脚本文件夹下添加
CKEDITOR.config.extraPlugins = 'imageuploader';
但是控制台会出现错误,因为您必须定义链接,这将是上传文件/图像的操作,例如
filebrowserImageBrowseUrl: 'YourController/YourAction',
filebrowserImageUploadUrl: 'YourController/YourAction'
于 2016-09-24T11:45:10.103 回答
0
最后我可以找到解决方案。
我做了两件事来解决我的问题。
首先我编辑了 config.ascx 文件并将基本 url 设置为 images 文件夹。如下所示:
公共覆盖无效 SetConfig() {
// The base URL used to reach files in CKFinder through the browser.
BaseUrl = "~/images/";
// The phisical directory in the server where the file will end up. If
// blank, CKFinder attempts to resolve BaseUrl.
BaseDir = "";
}
我犯的错误是,我的页面位于 admin 文件夹中,而我将 ckeditor 和 ckfinder 文件夹放在了我网站的根目录中。
通过将这些文件放在管理文件夹中,问题就解决了。
谢谢你。
于 2013-05-08T15:59:12.997 回答