Как стать автором
Обновить

.Net коннектор для файлового менеджера elFinder

Время на прочтение3 мин
Количество просмотров2.6K
Есть такой замечательный, как мне кажется, файловый менеджер для веба под названием elFinder, который, также, интегрируется с WYSIWYG редактором elRTE.

Но, к сожалению, пользоваться им я не мог, потому что проекты у меня на ASP.Net / ASP.Net MVC, а т.н. «коннекторы» (то есть, серверная часть) были написаны на PHP и Python. Была идея написать свой, но сроки горели, и я использовал CKFinder. А тут вдруг на этих длинных выходных совершенно не хотелось вылазить из дома… и вот результат — коннектор, который я (и вы) можете использовать в своих дотнет приложениях. Если, конечно, не испугаетесь.)

Установка и настройка



Предлагаю вам зайти на elfinderconnectornet.codeplex.com и скачать там тестовый солюшен. Он состоит из двух проектов: Test.Web (собственно, наше веб-приложение) и ElFinder.Connector (собственно, коннектор). Естественно, вы можете просто добавить reference на библиотеку ElFinder.Connector.dll в своём проекте.

Поздравляю! Вы почти всё сделали! Осталось только кое-что добавить в Web.config (всё это, конечно, есть в Test.Web).

1. Добавляем хэндлер, который будет дергать elFinder

<httpHandlers><br>     ...<br>     <add verb="*" path="*.connector" type="ElFinder.Connector.Connector"/><br></httpHandlers><br><br>* This source code was highlighted with Source Code Highlighter.

Нас интересует последняя строчка. Из неё вам должно стать понятно, что URL коннектора крайне прост: всё, что оканчивается на .connector

2. Добавляем хэндлер конфигурационной секции

<section name="ElFinder"<br>        type="ElFinder.Connector.Configuration.ElFinderSection"<br>        allowDefinition="Everywhere"<br>        allowExeDefinition="MachineToApplication"<br>        restartOnExternalChanges="true" /><br><br>* This source code was highlighted with Source Code Highlighter.


3. Добавляем саму секцию

<ElFinder uplMaxSize="10" dotFiles="true"><br>    <Root Url="http://localhost:55599/files" Path="~/files" /><br>    <DisabledCommands><br>     <add Name="duplicate"/>     <br>    </DisabledCommands><br>    <DisabledMimeTypes><br>     <add Name="application/exe"/><br>     <add Name="application/x-msdownload" /><br>    </DisabledMimeTypes>    <br> </ElFinder><br><br>* This source code was highlighted with Source Code Highlighter.


Вот, в общем-то, и всё. Дальше уже создаёте сам файндер, примерно так

<script type="text/javascript" charset="utf-8"><br>        $(document).ready(function() {<br>            $('#finder').elfinder({<br>                url: 'test.connector',<br>                lang: 'ru'<br>            });<br>        });<br>    </script><br><br>* This source code was highlighted with Source Code Highlighter.


… и всё работает.

На самом деле, не всё работает. Нет тамбнэйлов и ресайза изображений, редактирования текстовых файлов (в процессе). Все файлы и папки доступны на запись/чтение/удаление (честно говоря, просто не нашёл простого способа проверить права в .Net). Что-то не доделано ещё, но я либо сам доделаю, либо… код открытый.)

Пользуйтесь на здоровье!

UPD. 1 Естественно, не забудьте настроить безопасность (разрешить чтение/запись/удаление по желанию IIS_IUSRS или IUSR) для папки, в которой всё непотребство будет происходить.

UPD. 2 .Net Framework 3.5

UPD. 3 Оказалось, что в природе есть ещё один дотнет коннектор, но его автор не успел поведать о нём. Возможно, мы объединим усилия, что пойдёт только на пользу!
Теги:
Хабы:
Всего голосов 28: ↑20 и ↓8+12
Комментарии7

Публикации

Истории

Работа

.NET разработчик
67 вакансий

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область