FAQ |
Kalender |
|
2014-08-12, 15:28 | #1 | ||
|
|||
Mycket flitig postare
|
`Hej!
Jag håller på med ett projekt där jag skall i ASP.NET skapa en zip-fil som sedan laddas ned av klienten (en mediaspelare som jag inte har kontroll över). Zip-filen innehåller några enstaka textfiler och bilder. När jag komprimerar mappen manuellt i Windows funkar den att läsa i mediaspelaren men när jag skapar den i ASP.NET med ZipFile.CreateFromDirectory så går det inte. Det går fint att packa upp den i windows, både med utforskaren, 7zip och winrar. Om jag sedan packar om samma filer manuellt så funkar det på mediaspelaren också. Jag har även testat att skapa filen med ZipArchive och ZipArchiveEntry, men samma resultat där. Det funkar om jag skippar mappstrukturen och bara har alla filer i roten. Output från "zipinfo -v test1.zip" (packad med ASP.NET) ... Kod:
Central directory entry #2: --------------------------- tmp\tmpfil.txt offset of local header from start of archive: 336 (00000150h) bytes file system or operating system of origin: MS-DOS, OS/2 or NT FAT version of encoding software: 2.0 minimum file system compatibility required: MS-DOS, OS/2 or NT FAT minimum software version required to extract: 2.0 compression method: deflated compression sub-type (deflation): normal file security status: not encrypted extended local header: no file last modified on (DOS date/time): 2014 Aug 12 14:16:52 32-bit CRC value (hex): c81551a6 compressed size: 76 bytes uncompressed size: 101 bytes length of filename: 14 characters length of extra field: 0 bytes length of file comment: 0 characters disk number on which file begins: disk 1 apparent file type: binary non-MSDOS external file attributes: 000000 hex MS-DOS file attributes (00 hex): none There is no file comment. Kod:
Central directory entry #2: --------------------------- There are an extra -36 bytes preceding this file. tmp/tmpfil.txt offset of local header from start of archive: 34 (00000022h) bytes file system or operating system of origin: MS-DOS, OS/2 or NT FAT version of encoding software: 6.3 minimum file system compatibility required: MS-DOS, OS/2 or NT FAT minimum software version required to extract: 2.0 compression method: deflated compression sub-type (deflation): normal file security status: not encrypted extended local header: no file last modified on (DOS date/time): 2014 Aug 12 14:16:52 32-bit CRC value (hex): c81551a6 compressed size: 80 bytes uncompressed size: 101 bytes length of filename: 14 characters length of extra field: 36 bytes length of file comment: 0 characters disk number on which file begins: disk 1 apparent file type: binary non-MSDOS external file attributes: 000000 hex MS-DOS file attributes (80 hex): exe The central-directory extra field contains: - A subfield with ID 0x000a (PKWARE Win32) and 32 data bytes. The first 20 are: 00 00 00 00 01 00 18 00 00 d2 78 4c 27 b6 cf 01 3b 82 32 a2. There is no file comment. Någon som har tips på hur jag kan bära mig åt? |
||
Svara med citat |
2014-08-12, 21:03 | #2 | ||
|
|||
Flitig postare
|
Du måste zippa den så att den går att streama ifrån.
Provat den här klassen? http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx Sedan från mapp kan du kika på detta: http://www.codeproject.com/Tips/3194...ss-directories |
||
Svara med citat |
2014-08-12, 22:23 | #3 | ||
|
|||
Mycket flitig postare
|
Löste problemet. Upptäckte när jag lusläste zipinfo att C# använder backslash i mappnamn medan utforskaren, winzip, 7zip och winrar använder forward slash. Jag använder ZipArchiveEntry med backslash i namnen så nu går det alldeles utmärkt.
JAg tror inte den streamar från zip-filen utan klienten laddar ner filen och packar upp innehållet. Tack för svar! |
||
Svara med citat |
2014-08-12, 22:54 | #4 | ||
|
|||
Flitig postare
|
Citat:
Bra att du löste det |
||
Svara med citat |
Svara |
|
|