Avatar billede ossian Nybegynder
18. juni 2006 - 19:57 Der er 5 kommentarer og
1 løsning

Zippe filer dynamisk

Hejsa,

I forbindelse med min billede upload side, vil jeg gerne tilføje den feature at man kan downloade et galleri af billeder som .zip eller .rar

Er der nogle der har erfaring med at danne zip filer dynamisk i .net?

På forhånd tak :-)
Avatar billede arne_v Ekspert
18. juni 2006 - 20:34 #1
Hent SharpZiplib og brug det.
Avatar billede arne_v Ekspert
18. juni 2006 - 20:35 #2
Avatar billede arne_v Ekspert
18. juni 2006 - 20:35 #3
eksempel på brug:

using System;
using System.IO;
using ICSharpCode.SharpZipLib.Zip;

class TestClass
{
    public const int N = 100;
    public static void Main(string[] args)
    {
        ZipOutputStream zos = new ZipOutputStream(new FileStream(@"C:\Test.zip", FileMode.Create));
        for(int i = 0; i < N; i++)
        {
            FileStream fs = new FileStream(@"C:\Test.doc", FileMode.Open);
            byte[] b = new byte[fs.Length];
            fs.Read(b, 0, b.Length);
            fs.Close();
            ZipEntry ze = new ZipEntry("Test" + i + ".doc");
            zos.PutNextEntry(ze);
            zos.Write(b, 0, b.Length);
        }
        zos.Finish();
        zos.Close();
    }
}
Avatar billede ossian Nybegynder
18. juni 2006 - 22:42 #4
Hej Arne,

Tak - det prøver jeg :-)

Nu kører jeg vb.net, så jeg formoder at koden vil se sådan her ud:

Imports System
Imports System.IO
Imports ICSharpCode.SharpZipLib.Zip

Class TestClass
    Public const Integer N = 100
    Public Shared  Sub Main(ByVal args() As String)
        Dim zos As ZipOutputStream =  New ZipOutputStream(New FileStream("C:\Test.zip",FileMode.Create))
        Dim i As Integer
        For  i = 0 To  N - 1  Step  i + 1
            Dim fs As FileStream =  New FileStream("C:\Test.doc",FileMode.Open)
            Dim b() As Byte =  New Byte(fs.Length) {}
            fs.Read(b, 0, b.Length)
            fs.Close()
            Dim ze As ZipEnTry =  New ZipEnTry("Test" + i + ".doc")
            zos.PutNextEnTry(ze)
            zos.Write(b, 0, b.Length)
        Next
        zos.Finish()
        zos.Close()
    End Sub
End Class

Eller? :-)

Smid et svar..
Avatar billede arne_v Ekspert
18. juni 2006 - 23:57 #5
jep

og så skal det jo flyttes fra en console app kontekst til en web app kontekst
Avatar billede arne_v Ekspert
18. juni 2006 - 23:57 #6
og svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester