Как сделать так, чтобы интеграция CKFinder ASP.net S3 загружала содержимое из префикса динамического ключа, а не из корневого каталога?
Я использую CKEditor 5 и CKFinder 3 с ASP.net Connector для прямой загрузки изображений в корзину S3.Веб-приложение, к которому мы все это подключаем, не является приложением ASP.net.
Настройка была достаточно простой, если следовать документации.
Однако наш продукт SaaS, поэтому каждый разCKFinder запущен, он нужен мне для назначения другого префикса ключа в нашем сегменте.Несколько веб-сайтов работают с одним и тем же приложением, и у каждого должна быть возможность загружать свою галерею изображений через CKFinder без возможности видеть изображения, принадлежащие другим приложениям.
Наш CKFinder Web.config:
<backend name="s3Bucket" adapter="s3">
<option name="bucket" value="myBucket" />
<option name="key" value="KEYHERE" />
<option name="secret" value="SECRETHERE" />
<option name="region" value="us-east-1" />
<option name="root" value="images" />
</backend>
Этот конфиг получает содержимое в /images/
префикс общего ключа "папка" просто замечательно, но для каждого приложения, использующего CKFinder, я хочу, чтобы оно читало из другого "корня":
/images/app1Id/
/images/app2Id/
/images/app3Id/
В идеале я хочу установить это при вызове экземпляра Editor / Finder;что-то вроде:
ClassicEditor.create( document.querySelector( '#textareaId' ), {
ckfinder: {
uploadUrl: '/ckfinder/connector?command=QuickUpload&type=Images&responseType=json',
connectorRoot: '/images/app1Id/'
},
toolbar: [ 'heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'blockQuote', 'ckfinder' ],
heading: {
options: [
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
]
}
});
Здесь я добавил connectorRoot: '/images/app1Id/'
в качестве примера того, что я хотел бы передать.
Есть ли способ сделать что-то подобное?Я прочитал документацию по ASP.net Connector и вижу, что вы можете создать свой собственный соединитель и использовать pass
для отправки ему данных, но необходимость компилировать и поддерживать пользовательский соединитель звучит не очень весело.Соединение с S3 здесь просто великолепно и просто ... если бы только позвольте мне быть более конкретным.