elfinder: отдельно от FilePath
У меня есть работающий elfinder 2.1 -> TinyMCE 4-интеграция, где elfinder доставляет необработанные данные в TinyMCE-Editor:
getFileCallback: function(file) { // editor callback
if (file.mime.indexOf('image/') === 0) {
$('<img/>').attr('src', file.url)
.on('load', function() {
var canvas = document.createElement('canvas');
canvas.width = this.width;
canvas.height = this.height;
canvas.getContext('2d').drawImage(this, 0, 0);
file.url = canvas.toDataURL(file.mime);
FileBrowserDialogue.mySubmit(file, elf);
})
}
}
Это требует прямого доступа к выбранному файлу. Теперь я должен предотвратить прямой доступ. Поэтому в каталоге серверов есть.htaccess-файл:
order deny,allow
deny from all
allow from 127.0.0.1
allow from localhost
С этим htaccess-файлом canvas.toDataURL не работает. Поэтому я должен сгенерировать и доставить DataUrl непосредственно из connector.php.
У кого-нибудь есть идеи по интеграции?
1 ответ
Есть способ не указывать "URL" с помощью параметра "Корни коннектора".
<?php
$opts = array(
'roots' => array(
array(
'driver' => 'LocalFileSystem', // driver for accessing file system (REQUIRED)
'path' => '../files/', // path to files (REQUIRED)
// DISABLE 'URL' BY COMMENTING THE FOLLOWING LINE OUT
// 'URL' => dirname($_SERVER['PHP_SELF']) . '/../files/', // URL to files (REQUIRED)
)
)
);
см. https://github.com/Studio-42/elFinder/wiki/Disable-real-file-path-from-being-shown