2009-12-14 1 views
0

Я понятия не имею, почему я получу эту ошибку ниже. ФайлvPath, когда я отлаживаю, является полностью допустимым (да, физическое изображение, безусловно, физически находится на жестком диске в переменной filePath, которое передается) и, очевидно, это не тот же путь, что и сообщение об ошибке, которое выглядит как некоторые общая ошибка:Ошибка File.Move - System.IO.FileNotFoundException: Не удалось найти файл 'c: windows system32 inetsrv

System.IO.FileNotFoundException: не удалось найти файл 'C: \ Windows \ system32 \ Inetsrv \ someimage1.jpg'

private void RenameUploadedFile(string uploadedFileName) 
{ 
    string filePath = Path.Combine(WebUtil.UploadPath, uploadedFileName); 

    if (File.Exists(filePath)) 
    { 
     try 
     { 
      string newfileName = uploadedFileName.Replace(uploadedFileName.Substring(0, uploadedFileName.IndexOf("-")), currenSessionID); 
      File.Move(uploadedFileName, newfileName); 
     } 
     catch (Exception ex) 
     { 
      .ErrorLog("Image Copy Error: " + ex.ToString()); 
      throw new ApplicationException("There was an error during a rename(move) operation on the Saved Item upload file: " + filePath + " error: " + ex.ToString()); 
     } 
    } 
    else 
    { 
     .ErrorLog("File does not exist or path is invalid for at the following filepath: " + filePath); 
    } 
} 

ответ

1

Заменить:

string newfileName = uploadedFileName.Replace(uploadedFileName.Substring(0, uploadedFileName.IndexOf("-")), currenSessionID); 

с:

string newfileName = filePath.Replace(filePath.Substring(0, filePath.IndexOf("-")), currenSessionID); 
0

Проверьте права доступа пользователей на этой папке.

+0

кажется совершенно хорошо. У меня есть разрешения, а также asp.net и т. Д. – PositiveGuy

0

Не знаете, где вы должны поместить это, глядя на свой код, но вам нужно использовать

Server.GetPath() 

найти текущий каталог вашего веб-приложения.

«C: \ Windows \ system32 \ Inetsrv \» по умолчанию «Текущий каталог» при работе в ASP.NET

Если вы можете предоставить более подробную информацию о том, что в настоящее время имеют каждое местоположение файла, связанные строки в нем, когда исключение бросается, я могу сказать вам, какой из них нужен для вызова Server.GetPath().

Смежные вопросы