2010-10-24 4 views

Répondre

1

Vous pouvez utiliser SharpZipLib pour décompresser les fichiers zip téléchargés. J'ai utilisé cette version (binaires téléchargés de Codeplex) dans mes applications sans aucun problème, cependant, je vous recommande de télécharger la source et de la compiler vous-même. Le fichier décompressé peut être lu dans une chaîne -

// check for magic numbers 
if (data.Length > 2 && (data[0] == 31 && data[1] == 139)) 
{ 
    using (var ms = new MemoryStream(data)) 
    using (var gzip = new GZipInputStream(ms)) 
    using (var reader = new StreamReader(gzip)) 
    { 
     fileContents = reader.ReadToEnd(); 
    } 
}   
données

est un tableau d'octets qui contient le fichier zip lu à partir IsolatedStorage. fileContents est une chaîne qui contient le contenu du fichier décompressé.

HTH, indyfromoz

+1

Je suis également à la recherche d'une bibliothèque gzip, et bien que sharpziplib semble parfait, sa GPL ne peut donc pas être utilisée pour des applications commerciales, pour autant que je sache. – tempy

+1

@tempy - La licence est en fait [GNU avec une exception] (http://slsharpziplib.codeplex.com/discussions/85286) qui permet l'inclusion dans une application commerciale _si le binaire (par opposition à la source) est utilisé. –

1

SharpZipLib est sous licence GNU et est donc pas autorisée par le magasin d'applications Microsoft.

+1

Comme mentionné ci-dessus, la licence est accordée avec une exception qui permet la distribution de la _binary_ dans les applications commerciales. –