DotNetZip Problem

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Andi2572.

    DotNetZip Problem

    Servus

    Ich hoffe, dass sich einer mit der DotNetZip Lib auskennt, denn ich habe ein Problem. Ich packe eine Datei und lade diese auf einen Server, danach möchte ich den zip Ordner wieder löschen. Doch das funktioniert nicht, da ich einen Fehler bekomme. (Datei wird verwendet) Allerdings wir dieser Ordner nirgens verwendet. Nur beim packen eben.

    Hier mal mein Code:

    VB.NET-Quellcode

    1. Private Sub Bild_Packen(PatNummer As String, Nachname As String)
    2. _patnummer = PatNummer
    3. _nachname = Nachname
    4. zip = New ZipFile
    5. '' add all those files to the ProjectX folder in the zip file
    6. zip.AddDirectory(IO.Path.Combine(IO.Path.GetTempPath, _patnummer & "_" & _nachname))
    7. zip.Comment = "This zip was created at " & System.DateTime.Now.ToString()
    8. 'zip.MaxOutputSegmentSize = 2 * 1024 * 1024 '' 2mb
    9. zip.Save(IO.Path.Combine(IO.Path.GetTempPath, _patnummer & "_" & _nachname & ".zip"))
    10. End Sub 'Bild wird in Archiv gepackt
    11. '===============================
    12. '= ORDNER AUF FTP SERVER LADEN =
    13. '===============================
    14. If CBool(ZipProgressEventType.Saving_Completed) = True Then
    15. FTP_Upload_wc = New WebClient
    16. FTP_Upload_wc.UploadFileAsync(New Uri(_serverpfad & _patnummer & "_" & _nachname & ".zip"), IO.Path.Combine(IO.Path.GetTempPath, _patnummer & "_" & _nachname & ".zip"))
    17. End If
    18. File.Delete(IO.Path.Combine(IO.Path.GetTempPath, _patnummer & "_" & _nachname & ".zip"))


    Wie kann ich den zip Ordner nun aus dem Speicher werfen ?

    MFG Andi2572
    Das Problem liegt da nicht an der DotNetZipLib sondern am hochladen. Du fängst das asynchrone Uploaden an, wartest aber nicht, bis das uploaden beendet ist, bevor du die Datei versuchst zu löschen. Warte also, bis das Event FileUploadComplete oder so ähnlich gefeuert wird und lösche dann die Datei - bevor der Upload fertig ist kann die Datei logischerweise nicht gelöscht werden.