[WebDAV] Медиа источник для облачных хранилищ
Предлагаю вашему вниманию компонент для связи с облачными хранилищами по протоколу WebDAV.
Поддерживает работу с Yandex.Disk (пример в конце).
В способах применения вас ограничивает фантазия и пропускная способность канала — бэкапы, хранение своего цифрового добра, может быть раздача файлов из хранилища — все на ваш вкус.
Драйвер умеет:
Некоторые особенности реализации.
Для компонента написана миниатюрная библиотека для работы по протоколу WebDAV.
Загрузка файлов на удаленный сервер выполняется опосредованного через сайт, соответственно, встречаются ограничения установленные на сайте по максимальному размеру принимаемых файлов.
Возможно включить отображение миниатюр для изображений. Но запрос на получение файла будет производиться каждый раз при запросе на миниатюру — для каталогов с фотками это создаст трафик, и может быть, совсем ненужный трафик.
Не все облака могут дать прямую ссылку на доступ к скачиванию файлов, потому для получения содержания файла можно использовать посредник. При обращении через посредник нужно добавить политику доступа для соответствующей группы пользователей.
Рассмотрим пример подключения к облаку Yandex Disk.
Проходим путь созидания нового источника:
1. Медиа -> Источники файлов -> Создать новый источник
2. Задаем название в духе «Yandex Disk», тип WebDAV. Сохраняем.
3. Правой кнопкой в списке по новоиспеченному источнику -> Редактировать
4. Прописываем параметры:
server: https: //webdav.yandex.ru (без пробелов)
authMethod: Basic
proxy: true
verifySSL: false (задел на будущее)
login, password: данные учетной записи.
Сохраняем, готово. Для доступа извне пропишите доступ пользователей к политике load.
Ежели вам потребно обращаться не к корневому каталогу хранилища, укажите нужный дочерний каталог в параметре basePath. Путь к файлам в обработчиках будет отсчитываться от этого basePath.
Поддерживает работу с Yandex.Disk (пример в конце).
В способах применения вас ограничивает фантазия и пропускная способность канала — бэкапы, хранение своего цифрового добра, может быть раздача файлов из хранилища — все на ваш вкус.
Драйвер умеет:
- Перечислить содержимое каталога
- Загрузить файлы
- Создать файл
- Редактировать файл
- Удалить каталог/файл
- Переносить элементы в дереве перетягиванием
- Кэшировать содержимое каталога и мета-информацию о файле
- Получать ресурс опосредованно через сайт
Для компонента написана миниатюрная библиотека для работы по протоколу WebDAV.
Загрузка файлов на удаленный сервер выполняется опосредованного через сайт, соответственно, встречаются ограничения установленные на сайте по максимальному размеру принимаемых файлов.
Возможно включить отображение миниатюр для изображений. Но запрос на получение файла будет производиться каждый раз при запросе на миниатюру — для каталогов с фотками это создаст трафик, и может быть, совсем ненужный трафик.
Не все облака могут дать прямую ссылку на доступ к скачиванию файлов, потому для получения содержания файла можно использовать посредник. При обращении через посредник нужно добавить политику доступа для соответствующей группы пользователей.
Рассмотрим пример подключения к облаку Yandex Disk.
Проходим путь созидания нового источника:
1. Медиа -> Источники файлов -> Создать новый источник
2. Задаем название в духе «Yandex Disk», тип WebDAV. Сохраняем.
3. Правой кнопкой в списке по новоиспеченному источнику -> Редактировать
4. Прописываем параметры:
server: https: //webdav.yandex.ru (без пробелов)
authMethod: Basic
proxy: true
verifySSL: false (задел на будущее)
login, password: данные учетной записи.
Сохраняем, готово. Для доступа извне пропишите доступ пользователей к политике load.
Ежели вам потребно обращаться не к корневому каталогу хранилища, укажите нужный дочерний каталог в параметре basePath. Путь к файлам в обработчиках будет отсчитываться от этого basePath.
Комментарии: 22
А можно ли как то из источника Filesystem перекопировать файлы в источник YandexDisk?
Да, возможно копирование объектов файловой системы. Воспользуйтесь методом загрузки UploadObjectsToContainer($container, array $objects = array()).
А можно как то по подробней расписать, а то из одной строки не совсем понятно о чем идет речь?
Для копирования файлов вам понадобится написать код.
Общая идея такая:
1. Получение объекта для медиа источника откуда будете копировать, инициализация
2. Получение объекта для медиа источника куда будете копировать, инициализация
3. Получение списка файлов для копирования
4. Перебор списка файлов с вызовом UploadObjectsToContainer медиа источника назначения
Общая идея такая:
1. Получение объекта для медиа источника откуда будете копировать, инициализация
2. Получение объекта для медиа источника куда будете копировать, инициализация
3. Получение списка файлов для копирования
4. Перебор списка файлов с вызовом UploadObjectsToContainer медиа источника назначения
Подскажите пожалуйста, умеет ли ваш компонент работать с Dropbox.
И если да, то способен ли phpthumbof получить правильные ссылки с него для превью?
Пользуюсь dropbox-2.1.2+MIGX+phpthumbof и случилась проблема с которой не способен справиться.
modxclub.ru/topics/dropbox-2.1.2migxphpthumbof-1637.html
И если да, то способен ли phpthumbof получить правильные ссылки с него для превью?
Пользуюсь dropbox-2.1.2+MIGX+phpthumbof и случилась проблема с которой не способен справиться.
modxclub.ru/topics/dropbox-2.1.2migxphpthumbof-1637.html
Dropbox не поддерживает WebDAV и, как они заявляют, вряд ли когда будут.
А как просто разместить ссылку на файл из Яндекс Диска? В Modx файл виден, но ссылки для скачивания не создать…
Расширения Яндекс диска не работают, скачивание файлов через прокси.
Как это через прокси? Я так еще ни разу не делал, может подскажете?
Если сервер WebDAV не дает прямого доступа к скачиванию файлов вы можете захотеть воспользоваться процессором-посредником.
URL создается из: `http://yoursite.ru/assets/components/webdav/index.php?ctx=web&action=proxy&source=SOURCEID&src=path/file.ext`
URL создается из: `http://yoursite.ru/assets/components/webdav/index.php?ctx=web&action=proxy&source=SOURCEID&src=path/file.ext`
Спасибо, буду пробовать…
Да, работает, спасибо.
SOURCEID у меня = 2, т.к. Yandexdisk имеет этот идентификатор после Filesystem. Для ссылки достаточно было «assets/components/webdav/index.php?ctx=web&action=proxy&source=2&src=file.ext». Жаль, что только при скачивании файл с малоизвестным расширением переименовывается в index.php, файл file.zip переименовывается в index.zip, файл file.jpg открывается без переименовываний.
SOURCEID у меня = 2, т.к. Yandexdisk имеет этот идентификатор после Filesystem. Для ссылки достаточно было «assets/components/webdav/index.php?ctx=web&action=proxy&source=2&src=file.ext». Жаль, что только при скачивании файл с малоизвестным расширением переименовывается в index.php, файл file.zip переименовывается в index.zip, файл file.jpg открывается без переименовываний.
Как указать basePath
[2015-04-25 21:26:37] (ERROR @ /connectors/index.php) [DAV] Error opening dir /: Bad data /
:(
Некорректно настроено подключение. Проверьте путь, логин, пароль.
Виталий помогите… Никак не могу разобраться, где то рядом наверно не не понимаю.
К яндекс диску подключается нормально, но превьюшки и вообще доступ к файлам получается только через прокси,
файлы только картинки, но с разными расширениями.
как выводить их на страницах сайта например в галерею? С Filesystem все работает а с webdav получается битая ссылка даже при включенном прокси…
При мультисайтинге совсем засада как разделить по контекстам???
Настройки такие:
К яндекс диску подключается нормально, но превьюшки и вообще доступ к файлам получается только через прокси,
файлы только картинки, но с разными расширениями.
как выводить их на страницах сайта например в галерею? С Filesystem все работает а с webdav получается битая ссылка даже при включенном прокси…
При мультисайтинге совсем засада как разделить по контекстам???
Настройки такие:
Послу удаления выводить ошибку
***/xpdo/xpdo.class.php : 643) Could not load class: WebDAVMediaSource from mysql.webdavmediasource.
Как вылечит
Авто удаления не удаляет медиа ресурс привязанный Yandex диск! Удалил ручную
ms2Gallery не умеет работать с этим источником?
Сколько не пытаюсь вывести разные размеры превьюшек, но плейсхолдеры [[+120x90]] разных размеров не геренируются!
Получается вывести только последний заданный размер превьюшки через плейсхолдер [[+x]], он имеет следующий вид:
Сколько не пытаюсь вывести разные размеры превьюшек, но плейсхолдеры [[+120x90]] разных размеров не геренируются!
Получается вывести только последний заданный размер превьюшки через плейсхолдер [[+x]], он имеет следующий вид:
Array
(
[id] => 121
...
[tags] =>
[x] => http://********.com/assets/components/webdav/index.php?action=proxy&source=8&ctx=mgr&src=2031/300x/2.jpg
)
Как вытащить нужный размер превьюшек? Или использовать оригинал и пережимать его на лету с phpThumbOn как в старом Gallery было реализовано?
Ещё печальнее то, что phpThumbOn вообще не распознаёт ссылку на файл как изображение и не сжимает его… Что же делать тогда?
P.S. Настраивался источник файлов по этой статье к Яндексу.
P.S. Настраивался источник файлов по этой статье к Яндексу.
странно, сделал по инструкции, но медиа ресурс Yandex Disk пуст. А при создании папки пишет «Неизвестная ошибка возникла при создании каталога». Логин и пароль ввожу точно такие же как от яндекс почты. Кто-нибудь подскажет что не так?
О, так как у меня сайт был размещен в поддеректории mysite.ru/test/ webdav не работал. Попробовал установить на сайт, который в mysite.ru/ — файлы отобразились, но если нажать скачать в админской — выходит Fatal error: Call to a member function make() on null in /var/www/kachaev/data/www/self-vs-self.ru/core/model/modx/processors/browser/file/download.class.php on line 36
Как это можно исправить?
Как это можно исправить?
Вывожу файл на странице через посредника
8kbit.ru/assets/components/webdav/index.php?action=proxy&source=2&ctx=mgr&src=files/personal/nes/videos/Zoids — Chuuou Tairiku no Tatakai (J) (V1.0) [T%2BEng1.0a abishur (12.10.2020)]-video.mp4
В режиме администратора все работает, а в режиме посетителя и зарегистрированного юзера не загружается видео.
В чем может быть проблема?
8kbit.ru/assets/components/webdav/index.php?action=proxy&source=2&ctx=mgr&src=files/personal/nes/videos/Zoids — Chuuou Tairiku no Tatakai (J) (V1.0) [T%2BEng1.0a abishur (12.10.2020)]-video.mp4
В режиме администратора все работает, а в режиме посетителя и зарегистрированного юзера не загружается видео.
В чем может быть проблема?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.