传输文件,下载行为异常

时间:2020-03-05 18:58:05  来源:igfitidea点击:

我正在使用httpresponse.Transmitfile下载文件。如果我在文件下载对话框中选择与建议的文件夹保存在不同的文件夹中,则下载速率将降至10 20 kb。如果我取消或者始终选择在同一文件夹中下载,则传输速率为200 kb或者更高。这是我的代码:

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;

这是用RadStudio 2007(Delphi for .Net)编写的。有没有人经历过这样的事情?在Opera或者Firefox(仅Internet Explorer)中,这不是问题。

解决方案

回答

服务器不知道用户将文件保存在哪里,因此服务器代码不是导致此问题的原因。

可能是浏览器正在缓存文件,然后再次将其保存到同一位置时,它仅使用缓存的版本,而不从服务器下载吗?尝试连续两次将文件保存到相同(但另一个)目录中,并查看第二次尝试是否获得更高的下载速率。