Значимое автоматическое переименование файла с использованием ASP.NET - PullRequest
1 голос
/ 03 апреля 2011

Платформа кодирования: ASP.NET 4.0 C #

Рассмотрим следующий сценарий.

Я загружаю файл с именем "StackOverflow.doc" в папку Documents с использованием asp:FileUpload. * 1006.* Но в папке с документами уже есть файл с именем «StackOverflow.doc».
В этой ситуации я хотел бы переименовать мой файл в StackOverflow (1) .doc.

Я действительно знаю, как создать файлимена уникальные, используя GUID или назначая временные имена.
Но мне нужно решение, похожее на Windows Explorer.Какой лучший способ приблизиться к этому?

PS: решение должно быть избыточным.То есть, если есть файлы с именами StackOverflow.doc и StackOverflow (1) .doc, мой переименованный файл должен быть StackOverflow (2) .doc

1 Ответ

3 голосов
/ 03 апреля 2011

Вот один из подходов к получению имени файла по вашему запросу (логика пути к файлу для краткости не включена):

string fileName = downloadFileName;
string fileExt = downloadFileExtention;

string fullFileName = string.Format("{0}.{1}", fileName, fileExt);

int counter = 0;
while(File.Exists(fullFileName))
{
    counter++;
    fullFileName = string.Format("{0}({1}).{2}", fileName, counter, fileExt);
}

// Write the file to fullFileName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...