Response.TransmitFile und lösche es nach der Übertragung

8

Ich muss den GEDCOM-Export in meine Site implementieren.

Mein .net-Code hat eine Datei auf dem Server erstellt, als der Export nach gedcom angeklickt wurde.

Dann muss ich es vom Server auf den Client herunterladen, ebenso wie der Benutzer gefragt werden soll, wo diese Datei gespeichert werden soll, was bedeutet, dass ein Speichereffekt erforderlich ist.

Nach dem Herunterladen möchte ich diese Datei vom Server löschen.

Ich habe einen Code, um die Datei vom Server zum Client zu übertragen:

%Vor%

von diesem LINK

aber ich bin nicht in der Lage, die Datei nach diesem Code zu löschen, da Response.End die Antwort beendet, so dass der Code, der nach dieser Zeile geschrieben wird, nicht ausgeführt wird.

Wenn ich Code schreibe, um die Datei vor Response.End(); zu löschen, dann wird die Datei nicht übertragen und ich bekomme eine Fehlermeldung.

    
Radhi 22.04.2010, 04:38
quelle

2 Antworten

20

Alles, was Sie nach Response.End eingeben, wird nicht ausgeführt, weil es eine ThreadAbortException auslöst, um die Ausführung der Seite an diesem Punkt zu stoppen.

Versuchen Sie es stattdessen:

%Vor%     
Josh 22.04.2010, 05:11
quelle
2

Wenn die Datei relativ klein ist, können Sie sie in ein Byte-Array laden, so dass Sie die Datei löschen können, während Sie weiterhin die Daten senden können:

%Vor%     
Guffa 22.04.2010 05:10
quelle