1

Я использую KendoUi в ASP.NET MVC Я хочу Использовать Kendo.Editor() I Написать ThisCodeЗапрошенный URL вернулся 403 в KendoEditor

@(Html.Kendo().EditorFor(m => m) 
.HtmlAttributes(new { style = "width: 500px;height:300px" }) 
.Tools(tools => tools.InsertImage()) 
.ImageBrowser(imageBrowser => imageBrowser 
           .Image("~/Uploads/Images/{0}")  
           .Read("Read", "ImageBrowser") 
           .Create("Create", "ImageBrowser") 
           .Destroy("Destroy", "ImageBrowser") 
           .Upload("Upload", "ImageBrowser") 
           .Thumbnail("Thumbnail", "ImageBrowser")) 
) 

и ImageBrowser контроллер

public partial class ImageBrowserController : EditorImageBrowserController 
    { 
     private const string contentFolderRoot = "~/Uploads/"; 
     private const string prettyName = "Images/"; 
     private static readonly string[] foldersToCopy = new[] { "~/Uploads/shared/" }; 


     /// <summary> 
     /// Gets the base paths from which content will be served. 
     /// </summary> 
     public override string ContentPath 
     { 
      get 
      { 
       return CreateUserFolder(); 
      } 
     } 

     private string CreateUserFolder() 
     { 
      var virtualPath = Path.Combine(contentFolderRoot, prettyName); 

      var path = Server.MapPath(virtualPath); 
      if (!Directory.Exists(path)) 
      { 
       Directory.CreateDirectory(path); 
       foreach (var sourceFolder in foldersToCopy) 
       { 
        CopyFolder(Server.MapPath(sourceFolder), path); 
       } 
      } 
      return virtualPath; 
     } 

     private void CopyFolder(string source, string destination) 
     { 
      if (!Directory.Exists(destination)) 
      { 
       Directory.CreateDirectory(destination); 
      } 

      foreach (var file in Directory.EnumerateFiles(source)) 
      { 
       var dest = Path.Combine(destination, Path.GetFileName(file)); 
       System.IO.File.Copy(file, dest); 
      } 

      foreach (var folder in Directory.EnumerateDirectories(source)) 
      { 
       var dest = Path.Combine(destination, Path.GetFileName(folder)); 
       CopyFolder(folder, dest); 
      } 
     } 
    } 

при запуске этого Просмотреть Kendo.Editor Создать отлично. но когда щелчок в InsertImage иконе получить The requested URL returned 403 ошибку

Edit01:

Просмотр кода:

@(Html.Kendo().EditorFor(model => model.TenderContent) 
    .HtmlAttributes(new { style = "width: 500px;height:300px" }) 

    .Tools(tools => tools.InsertImage()) 
    .ImageBrowser(imageBrowser => imageBrowser 
            .Image("~/Uploads/Images/{0}") 
            .Read("Read", "ImageBrowser") 
            .Create("Create", "ImageBrowser") 
            .Destroy("Destroy", "ImageBrowser") 
            .Upload("Upload", "ImageBrowser") 
            .Thumbnail("Thumbnail", "ImageBrowser")) 
           ) 

Решение изображение: enter image description here

пожалуйста, помогите мне. Спасибо всем.

ответ

1

Попробуйте добавить Clear() до того InsertImage(), как показано ниже:

.Tools(tools => tools.Clear().InsertImage()) 

Кроме того, необходимо убедиться, что ниже правильный путь, папка Uploads находится непосредственно под вашим проектом, он должен быть на том же уровне, что и Content папку ,

"~/Uploads/Images/{0}" 
+0

благодарит за помощь в этом вопросе. Но этот код не работает – Pouya

+0

@Pouya, см. Мой обновленный ответ. – Lin

+0

Я тестирую этот код, но не работаю. – Pouya

Смежные вопросы