Asp.net mvc 4 kendo ui编辑器for imagebrowser返回403
我是web开发新手,我正在尝试使用图像浏览器实现剑道UI编辑器,以插入MVC4.5页面上的文档。编辑器工作正常,但是,当我单击“插入图像”按钮时,弹出一条403禁止的弹出消息 我已经创建了一个指向~/Content/images的自定义图像浏览器控制器。Asp.net mvc 4 kendo ui编辑器for imagebrowser返回403,asp.net-mvc-4,http-status-code-403,kendo-asp.net-mvc,Asp.net Mvc 4,Http Status Code 403,Kendo Asp.net Mvc,我是web开发新手,我正在尝试使用图像浏览器实现剑道UI编辑器,以插入MVC4.5页面上的文档。编辑器工作正常,但是,当我单击“插入图像”按钮时,弹出一条403禁止的弹出消息 我已经创建了一个指向~/Content/images的自定义图像浏览器控制器。 在我看来,我正在代码中使用自定义浏览器控制器 @(Html.Kendo().EditorFor(m => m.QuestionText) .Encode(false) .HtmlAt
在我看来,我正在代码中使用自定义浏览器控制器
@(Html.Kendo().EditorFor(m => m.QuestionText)
.Encode(false)
.HtmlAttributes(new { style = "width: 100%; height: 200px" })
.Name("EditQuestionText")
.Tools(tools => tools.Clear().InsertImage())
.ImageBrowser(imageBrowser => imageBrowser
.Image("~/JFA/QuestionImages/{0}")
.Read("Read", "JFAImageBrowser"))
)
我已经将我的代码与来自Kendo的EditorFor(将浏览文件夹)的示例项目进行了比较,但没有发现明显的差异。。。我也找不到其他有这个问题的人,所以我怀疑有一个我找不到的环境导致了我的问题,任何帮助都将非常感谢
我的图像浏览器(直接取自演示)
此外,使用Fiddler,“插入图像”按钮的单击事件是
GET/JFA/JFAImageBrowser/Read?路径=%2F HTTP/1.1
演示在哪里
POST/ImageBrowser/Read HTTP/1.1
我不知道为什么演示使用的是POST,而我的POST使用的是GET,除非这是因为覆盖的图像浏览器,代码看起来不错。你能确保你的
JFAImageBrowser
控制器看起来像这样吗
public class BlogImagesController : EditorImageBrowserController
{
//
// GET: /BlogImage/
public ActionResult Index()
{
return View();
}
public override string ContentPath
{
get { return AssetFilePaths.BlogContentPath; }
}
}
它必须继承自EditorImageBrowserController
此外,403可能意味着用户没有访问目录的权限。检查您正在运行的用户的权限。结果发现我的问题出在_布局页面上。我用的是捆绑和 A) 我在设置绑定时出错 -或- b) 捆绑没有按预期/预期工作。
无论采用哪种方式,我都添加了单独的脚本/java脚本引用,并且它按照预期工作。下面是这个问题的解决方案 这个问题修复的页面是剑道论坛 以及演示的直接链接 如果这个演示不起作用,你可以看到我从上面制作的这个示例 您可以通过HomeController浏览编辑器,操作名称为homepage(
home/homepage
)
&我认为错误是由于您使用的基本控制器和子控制器之间的路径不同。感谢您的响应,我已将图像浏览器控制器添加到原始帖子中。权限“显示”正常。我甚至还为“每个人”和“匿名登录”添加了读/列表访问权限,以涵盖所有内容。也可以尝试使用
IUsr
(在您的计算机上,它可能被称为不同的东西)。
public class BlogImagesController : EditorImageBrowserController
{
//
// GET: /BlogImage/
public ActionResult Index()
{
return View();
}
public override string ContentPath
{
get { return AssetFilePaths.BlogContentPath; }
}
}