我使用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。
答案 0 :(得分:1)
服务器不知道用户保存文件的位置,因此服务器代码不是造成这种情况的原因。
可能是您的浏览器正在缓存该文件,然后如果您再次将其保存到同一位置,它只使用缓存版本而不从服务器下载?尝试将文件连续两次保存到同一个(但是另一个)目录,并查看第二次尝试是否获得更高的下载速率。