begin process at 2012 05 28 01:47:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

problème de décompression de fichier zip- les fichiers restent ouverts


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de décompression de fichier zip- les fichiers restent ouverts

samedi 5 mars 2005 à 10:00:47 | problème de décompression de fichier zip- les fichiers restent ouverts

mohamed_bn


med belhassen

j'ai utilisé ce petit programme que j'ai trouvé sur ce site dans mon application web. il permet de décompresser les fichiers zips.
mais le problème c'est que les fichiers décompressés restent inaccessibles en écriture. c'est à dire que je ne peut pas les éffacer jusquà sortir du formulaire web et attendre quelques minutes. j'ai utilisé ce programme dans mon application web qui permet à un client d'uploder un fichier zip puis elle la décompresse sur le serveur. et le client par la suite peut normalement éffacer les fichiers ou les déplacer. mais ce petit programme bloque mes fichiers extraites du zip. (apparament qu'il ne les fermes pas automatiquement malgré qu'on a fermé dans le code les flus ouverts de fichiers.

voici le corps de ce programme:

 


using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using ICSharpCode.SharpZipLib.Zip;
using System.IO;

namespace décompressionzipcs
{
 /// <summary>
 /// Summary description for WebForm1.
 /// </summary>
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button Button1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // Put user code to initialize the page here
  }

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: This call is required by the ASP.NET Web Form Designer.
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// Required method for Designer support - do not modify
  /// the contents of this method with the code editor.
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
 
  void ExtractArchive(string zipFilename,string extractDir)
  {
   ZipInputStream zis = null;
   FileStream fos = null;

   try
   {
    zis = new ZipInputStream(new FileStream(zipFilename,FileMode.Open,FileAccess.Read));
    ZipEntry ze;

    // on dezippe tout dans un rep du nom du zip, pas en bordel
    Directory.CreateDirectory(extractDir);

    while ((ze = zis.GetNextEntry()) != null)
    {
     if (ze.IsDirectory)
     {
      Directory.CreateDirectory(extractDir+"\\"+ze.Name);
     }
     else
     {
      if (!Directory.Exists(extractDir+"\\"+Path.GetDirectoryName(ze.Name)))
      {
       Directory.CreateDirectory(extractDir+"\\"+Path.GetDirectoryName(ze.Name));
      }

      fos = new FileStream(extractDir+"\\"+ze.Name,FileMode.Create,FileAccess.Write);
      int count;
      byte[] buffer= new byte[4096];

      while ((count = zis.Read(buffer,0,4096)) > 0)  //4096
      {
       fos.Write(buffer,0,count);
      }
     }
     
    }
    
   }
   finally
   {//zis.Close();
    //fos.Close();
    if (zis != null) zis.Close();
     if (fos != null ) fos.Close();
   }
   


   

  }

  private void Button1_Click(object sender, System.EventArgs e)
  {
  ExtractArchive("d:\\1.zip","d:\\ghn\\");
   Response.Write("archive is decompressed");
  }
 
 }
}


si vous pouvez m'aider à resoudre ce problème n'hésiter à me répondre .
si vous connaisser une autre source qui traite la décompression d'un répertoire svp me la donner

lundi 2 novembre 2009 à 15:26:12 | Re : problème de décompression de fichier zip- les fichiers restent ouverts

belfdil_radouane

Bonjour,
Vous avez un petit oublie car la fermiture du fichier se fais a chaque itération, du coup juste après la boucle :
while ((count = zis.Read(buffer,0,4096)) > 0) //4096
{
fos.Write(buffer,0,count);
}
on doit avoir :
fos.Close()

après tout marche nickel :)


Cette discussion est classée dans : web, system, fichiers, using, zip


Répondre à ce message

Sujets en rapport avec ce message

appel de fonction :( [ par yafuka ] bonjour a tous et merci d'avance.Mon probleme est bien simple.je declare une classe page1_2 dans un fichier page1_2.cs (voir ci dessous) contenant un SQL SERVER [ par rabbiwan ] bonjourj'ai un petit problème de connexionj'arrive a me connecter sur mon server avec un petit programme que vous pouvez trouver a http://www.aspfr.co Pb de datagrid->pour faire un panier ASP.net C# [ par fabrice83 ] fab83je suis en BTS est mon projet est de réaliser un site de vente g un pb avec mon panier .Voici mon code j'ai une datgrid1qui represente mon catal procédure pour importer un ascx depuis le code behind [ par tomtom41 ] voila ca fait 3h que je suis dessus et je n'y arrive pas    quelle est la procédure pour importer un ascx afin de puis utiliser le type d COMMENT FAIRE UNE APPLI WEB C# AFFICHANT LE RESULTAT D’UNE REQUETE SQL DANS UN DATAGRID [ par sarahsonia ] COMMENT FAIRE UNE APPLI WEB C# AFFICHANT LE RESULTAT D’UNE REQUETE SQL DANS UN DATAGRID <?xml:nam Problème de communication entre C# et ASP [ par prowlx ] Voici mon problème:J'ai créé une page ASP par défaut avec le  Web Development kit Express 2005 de MS(donc utilise le framework .Net 2.0). Cette page création d'un accès aux données paginées à l'aide d'une page Web Forms asp.net/c# [ par sonia5 ] salut tout le monde j'ai un probleme je vais connecter a mon bases de donnees et je veux afficher mes informations sur datagrid  mais avec pagination Erreur insoluble pour moi ASP.NET2.0 [ par Tukkkko ] Bonjour, j'ai une erreur insolutble pour moiVoici le code:using System;using System.Data;<font co [C#][ASP.NET] Erreur Incompréhensible !!! [ par MasterShadows ] Bonjour à tous et à toutes; alors voilà, pour mon stage, je dois faire un site web pour la Découpe. Je me suis demandé pendant moultes semaines quel l Evenement asp .net c# avec WebUserControl [ par HolyNoodle ] Bonjour,J'ai un problème qui me pose pas mal de sushi...Je suis en asp .net/c#Bon je vous donne le code :[code]namespace WebApplication1.WebUserContro


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales