1

我正在使用 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。

4

1 回答 1

1

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

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

于 2008-09-17T06:32:29.727 回答