2008-09-17 9 views
1

J'utilise httpresponse.Transmitfile pour télécharger des fichiers. Si, dans la boîte de dialogue de téléchargement du fichier, je choisis d'enregistrer dans un dossier différent de celui proposé, le taux de téléchargement tombe à 10 - 20 ko. Si j'annule, ou que je choisis toujours de télécharger dans le même dossier, les taux de transfert sont de 200 kb et plus. Voici mon code:Transmitfile, télécharger avec un comportement étrange

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; 

Ceci est écrit dans RadStudio 2007, Delphi for .Net. Est-ce que quelqu'un a vécu quelque chose comme ça? Ce n'est pas un problème dans Opera ou Firefox, seulement Internet Explorer.

Répondre

1

Le serveur ne sait pas où l'utilisateur enregistre le fichier. Le code du serveur n'est donc pas à l'origine de ce problème.

Est-ce que votre navigateur met en cache le fichier, puis si vous l'enregistrez à nouveau au même emplacement, il utilise uniquement la version mise en cache et ne télécharge pas à partir du serveur? Essayez d'enregistrer le fichier dans le même répertoire (mais un autre) deux fois de suite, et voyez si le second essai obtient un taux de téléchargement plus élevé.