2012-05-23 5 views
3

Je travaille sur un site Web dans lequel je souhaite copier le fichier de mon dossier d'application vers un autre dossier sur le même serveur (mais ce dossier est hors de mon dossier d'application et le dossier de destination est sur le lecteur D). Est-ce possible en utilisant toutes les fonctionnalités de Asp.Net?Copier un fichier d'un dossier vers un autre dossier

Merci d'avance.

+0

Avez-vous essayé? Une ligne de code est tout ce qu'il faudrait pour le tester. – Oded

+0

@Oded, je ne comprends pas vous s'il vous plaît expliquer. –

+1

Cela semble un peu difficile à déclasser. J'ai vu pire – Liam

Répondre

8

OUI il est possible, la seule préoccupation que vous devez surveiller est que le chemin de CopyTo doit être le chemin complet, et non pas celle relative (ex: c: \ sites Web \ myOtherFolder). De cette façon, vous pouvez copier/déplacer le fichier avec succès à partir de votre code ASP.NET. Ci-dessous est un pseudo-code pour vous montrer comment le faire (en supposant que le fichier a été placé dans le dossier racine de votre application ASP.NET).

using System.IO; 
    .. 
    .. 
    .. 



// Get the current app path: 
var currentApplicationPath = HttpContext.Current.Request.PhysicalApplicationPath; 

//Get the full path of the file  
var fullFilePath = currentApplicationPath + fileNameWithExtension; 

// Get the destination path 
var copyToPath = "This has to be the full path to your destination directory. 
        Example d:\myfolder"; 

// Copy the file 
File.Copy(fullFilePath , copyToPath); 
0

utiliser cette fonction:

System.IO.File.Copy(FileToCopy, NewCopy) 
0

Il est très facile de déplacer un fichier d'un dossier à un autre. vous pouvez modifier le nom du fichier tout en se déplaçant ...

  string Tranfiles, ProcessedFiles; 

      //Tranfiles = Server.MapPath(@"~\godurian\sth100\transfiles\" + Filename); 

      Tranfiles = Server.MapPath(@"~\transfiles\" + Filename); 
      if (File.Exists(Server.MapPath(@"~\transfiles\" + Filename))) 
      { 
       File.Delete(Server.MapPath(@"~\transfiles\" + Filename)); 
      } 

      //ProcessedFiles = Server.MapPath(@"~\godurian\sth100\ProcessedFiles"); 
      ProcessedFiles = Server.MapPath(@"~\ProcessedFiles"); 

      File.Move(Tranfiles, ProcessedFiles); 

C'est maintenant vous pouvez vérifier votre dossier de candidature pour confirmer l'état du processus de déplacement

Questions connexes