Как заменить имя файла загрузки изображения для CKFinder на asp.net?

Я использую файловый браузер с CKFinder. Но у меня есть проблема. При загрузке имя файла не сохраняет турецкий формат.

Я хочу загрузить файл, изменив имя. Можно ли применить какой-либо метод замены?

Например; Имя файла: turkçe karakter sıkıntısı.jpg, Измененное имя: turkce-karakter-sikintisi.jpg

Спасибо. Удачи с.


person Avni Babaoğlu    schedule 12.01.2017    source источник
comment
Вы имеете в виду, что не можете использовать türkçe karakter sıkıntısı.jpg и хотите, чтобы CKFinder заменил имя на turkce-karakter-sikintisi.jpg?   -  person user2316116    schedule 12.01.2017
comment
Ага. Как я уже упоминал выше, мне нужно заменить имя загруженного изображения. Но это не функция переименования CKFinder. Этот процесс будет автоматическим, на самом деле имя файла похоже на SEO-ссылку. Спасибо.   -  person Avni Babaoğlu    schedule 12.01.2017


Ответы (1)


Прочтите CKFinder. Переименуйте загруженные файлы.

то есть вам необходимо обновить FileUploadCommandHandler.cs, где вы можете изменить sFileName по своему усмотрению. Чтобы удалить символы акцента, вы можете использовать код из Как удалить диакритические знаки (ударения) из строки в .NET?, чтобы заменить пробелы, вы можете использовать простой replace()

Пример:

sFileName = System.IO.Path.GetFileName( oFile.FileName );
if ( Connector.CheckFileName( sFileName ) && !Config.Current.CheckIsHiddenFile( sFileName ) )
{
     //custom logic
     sFileName = RemoveDiacritics(sFileName).Replace(" ", "-");
     //other logic

     // Replace dots in the name with underscores (only one dot can be there... security issue).
     ...
person user2316116    schedule 12.01.2017