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

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

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

Примеры:

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

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

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

Есть ли другой способ, которым я мог бы достичь этого?

1 ответ

Решение

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

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

Другие вопросы по тегам