2013-02-15 15 views
6

ho il seguente set up:modulo .NET Ionic.Zip uccidendo spazio su disco

  • server di Win2008
  • modulo di riferimento Ionic.zip
  • Un disco separato per la creazione dei file zip
  • . NET 4.0

L'app Web crea pacchetti zip, al volo, e consente al client di scaricare il pacchetto.

Questo sistema ha funzionato meravigliosamente ... fino ad ora.

Recentemente abbiamo aggiunto alcuni file più grandi (da 2 GB a 11 GB) che devono essere racchiusi in un pacchetto prima di essere scaricati sul client. Inizialmente avevo impostato questo sistema per accadere tutto sulla C: (un errore). Subito, soprattutto con i file di dimensioni maggiori, ho iniziato a ricevere errori "Non c'è abbastanza spazio sul disco". La prima cosa che ho fatto è stato spostare il sistema su un disco separato da 100 GB (K :). Ora che questi file vengono rilasciati in produzione sulla intranet, ricevo ancora questi errori.

  1. ho un'operazione pianificata che pulisce l'unità di notte, quindi, anche a 100GB io non dovrebbe essere sempre gli errori
  2. Sia la C: e il K: un sacco di spazio
  3. non lo faccio ma so se è la C: (una cartella temporanea sconosciuta ??) o la K: che sta riempiendo
  4. AGGIORNATO - Guardando i registri degli eventi è la K: che si sta riempiendo, ma quando la controllo, non è pieno ... Quindi sto assumendo un problema di file temporanei ... o ??

C'è qualcuno che può far luce su questo o consigliare sulla risoluzione di cosa sta succedendo?

EDIT -----------------------

Penso che ci può essere qualcosa per il metodo di compressione sto chiamando fuori per la dimensione del file. Ora visualizzo altri errori:

Dimensioni compresse o non compresse o offset supera il valore massimo. Prendere in considerazione l'impostazione della proprietà UseZip64WhenSaving nell'istanza ZipFile.

Ho provato ad aggiungere la riga zip.CompressionMethod = Zip64Option.AsNecessary pensando che Zip64 sta per essere necessario, ma poi ho avuto l'errore Unsupported compression method. Non sono sicuro di dove andare da qui con queste nuove informazioni. Pensavo che ZipDotNet avrebbe gestito tutto questo.

Questo sta diventando urgente ora che gli utenti stanno tentando di scaricare questi file. Sto lavorando a una patch per ora come un lavoro in giro.

altri Cambia --------------------

C'era una specie di DUH momento in cui ho capito che zip regolare ha un limite di dimensione di 4GB. Zip64 ha un limite di dimensioni maggiori MOLTO.

Ho aggiunto la riga zip.UseZip64WhenSaving = True al mio codice e questo sembra aver risolto il problema. Finora, nessun problema.

+0

Penso che ci possa essere qualcosa nel metodo di compressione che sto chiamando per le dimensioni del file. Ho provato ad aggiungere la linea ** zip.CompressionMethod = Zip64Option.AsNecessario ** pensando che lo zip64 sarà necessario, ma poi ho ricevuto l'errore ** Metodo di compressione non supportato ** –

risposta

5

La soluzione ruota attorno a non prestare attenzione alle limitazioni della dimensione del file zip.

Quando si utilizza DotNetZip a zip file di notevoli dimensioni si otterrà errori come il seguente nel codice asp.net:

  1. non c'è abbastanza spazio sul disco
  2. compresso o non compresso formato, o compensare supera il valore massimo. Prendere in considerazione l'impostazione della proprietà UseZip64WhenSaving nell'istanza ZipFile

Quando vedi questi errori è probabilmente una buona idea di modificare il codice asp aggiungendo la riga:

[yourZipReference].UseZip64WhenSaving = true 

Questo cambierà il codice per salvare il file nel formato zip64, quindi si consiglia di effettuare un controllo di filesize prima di apportare questa modifica.

c'è un'altra linea:

[yourZipReference].CompressionMethod = Zip64Option.AsNecessary 

che farà sì che il modulo per utilizzare il metodo di compressione zip che è appropriato per la situazione, ma non ho ancora testato questo.

+0

L'unico svantaggio è che le persone che scaricano devono avere un lettore zip in grado di decomprimere il formato Zip64. –

+0

Considerando che lo ZIP "standard" non può gestire file superiori a 2 GB, non c'è molta scelta, a meno che non si considerino formati di archivio completamente diversi. – Wormbo

+0

Grazie ragazzi: sì, considerato questi punti. Fortunatamente il sito che gestisco fa parte di una intranet e a tutti viene dato un lettore di zip in grado di gestire zip64 ... ora se solo riesco a gestire i tempi di download con più grazia O.o –

Problemi correlati