2009-10-31 4 views
0

Je suis en train de créer par programme une liste de fichiers dans un dossier, avec certains attributs comme la taille du fichier et la date de modification.asp.net System.IO.IOException

Je peux renvoyer le nom de fichier, mais tout autre attribut génère une erreur: System.IO.IOException: le nom du fichier, le nom du répertoire ou la syntaxe de l'étiquette de volume est incorrect.

Qu'est-ce qui me manque ici?

private void BuildDocList() 
    { 
     var files = Directory.GetFiles(Server.MapPath(FilePath)); 

     foreach (var f in files) 
     { 
      var file = new FileInfo(FilePath + f); 
      var fileItem = new ListItem(); 

      // this line works fine 
      fileItem.Text = file.Name.Split('.')[0] + ", "; 


      // this line causes the runtime error 
      fileItem.Text = file.CreationTime.ToShortDateString(); 

      FileList.Items.Add(fileItem); 
     } 

    } 

Répondre

1

Vous essayez d'utiliser le mauvais nom de fichier pour le FileInfo - vous utilisez le chemin unmapped. Vous devriez utiliser quelque chose comme ceci:

string directory = Server.MapPath(FilePath); 
string[] files = Directory.GetFiles(directory); 

foreach (string f in files) 
{ 
    FileInfo file = new FileInfo(Path.Combine(directory, f)); 
    // Now the properties should work. 
+0

Cela l'a fait, merci! =) – shimonyk

Questions connexes