2008-09-17 3 views
1

Ich benutze httpresponse.Transmitfile, um Dateien herunterzuladen. Wenn ich im Dialogfeld zum Herunterladen von Dateien die Option zum Speichern in einem anderen Ordner als dem vorgeschlagenen auswählen, sinkt die Downloadrate auf 10 - 20 KB. Wenn ich abbreche oder immer im selben Ordner downloade, beträgt die Übertragungsrate 200 KB und mehr. Hier sind mein Code:Transmitfile, Download mit merkwürdigem Verhalten

procedure TDefault.LastNedBilde(strURL: string); 
var 
Outfil: FileInfo; 
begin 
    Outfil:= FileInfo.Create(Server.MapPath(strUrl)); 
    response.Clear(); 
    response.ClearContent(); 
    response.ClearHeaders(); 
    response.Buffer := True; 
    response.ContentType :='image/tiff'; 
    response.AddHeader('Content-Disposition', 
        'attachment; filename=' + filename;'); 
    response.AddHeader('Content-Length', Outfil.Length.ToString()); 
    response.Transmitfile(strUrl,0,Outfil.Length); 
    response.Flush(); 
    response.&End; 
end; 

Dies ist in RadStudio 2007, Delphi für .Net geschrieben. Hat jemand so etwas erlebt? Dies ist kein Problem in Opera oder Firefox, nur Internet Explorer.

Antwort

1

Der Server weiß nicht, wo der Benutzer die Datei speichert, daher ist der Servercode nicht das, was dies verursacht.

Könnte es sein, dass Ihr Browser die Datei zwischenspeichert und sie dann, wenn Sie sie erneut an demselben Speicherort speichern, nur die zwischengespeicherte Version verwendet und nicht vom Server herunterlädt? Versuchen Sie, die Datei zweimal hintereinander in demselben (aber einem anderen) Verzeichnis zu speichern, und prüfen Sie, ob der zweite Versuch eine höhere Download-Rate erzielt.