Назад | Перейти на главную страницу

Диспетчер ресурсов файлового сервера допускает использование только стандартных букв и цифр в имени файла.

У меня есть FTP-сервер (IIS), который позволяет загружать только определенные типы файлов (например, только изображения). Я добиваюсь этого с помощью функции фильтрации файлов в Диспетчер ресурсов файлового сервера.

Пока это работает нормально, однако теперь мне нужно разрешить только стандартные буквы и цифры в имени файла.

Примеры:

test.jpg   [valid]
Test 1.png [valid]
tëßt.png   [invalid]

Функция фильтрации файлов здесь не работает.

  1. Слишком много символов, которые я не хочу разрешать (поэтому "Включенные файлы" не вариант).
  2. Я не могу добавить каждый разрешенный символ в исключенные файлы, с тех пор проверка расширения больше не работает (она будет действительна, если имя файла является действительным или если расширение совпадает).

Есть ли другой способ добиться этого?

В качестве небольшого программного решения вы можете написать небольшое приложение, реализующее FileSystemWatcher и Создано мероприятие.

Затем, когда событие срабатывает, вы можете использовать шаблон RegEx, чтобы убедиться, что имя содержит только допустимые символы, если совпадение возвращает false, удалите файл. Что касается обратной связи с FTP-сессией, я не уверен, что это вообще возможно.