Pull to refresh

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

Reading time3 min
Views2.5K
Есть такой замечательный, как мне кажется, файловый менеджер для веба под названием 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 Оказалось, что в природе есть ещё один дотнет коннектор, но его автор не успел поведать о нём. Возможно, мы объединим усилия, что пойдёт только на пользу!
Tags:
Hubs:
+12
Comments7

Articles