Я хотел бы убедиться, что данное имя файла действительно, даже если оно означает замену или удаление некоторых символов. В настоящее время я делаю это:Как обеспечить правильность пути к файлу?
Path.GetInvalidFileNameChars().ToList().ForEach (x => path.Replace (x, '-'));
Но, насколько я могу судить, this is not guaranteed to yield a valid filename. Есть ли лучший способ, чем выполнение выше предварительной проверки, а затем попытка try-catch для открытия файла?
Edit: пятно ошибка в коде выше;)
Незначительное дополнение: Я бы предпочел, чтобы сохранить имя файла как для чтения, насколько это возможно, так что с помощью какой-то BASE64 следует избегать.
Hardcore, но хорошая идея - это, кажется, очень безопасный способ. – mafu
Да - его безопасный путь. Мы пошли так, потому что мы пытались сохранить имя загруженного файла, сохраняя в каталоге temp, и мы столкнулись с проблемой при загрузке файла с компьютера Mac. Конечно, теперь мы используем сгенерированные имена файлов для хранения в хранилище файлов, а фактическое имя хранится в БД. – VinayC