[阅读: 932] 2005-11-19 15:04:28
procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
AFile:FileStream;
AFileName:string;
Bfile:System.IO.FileInfo;
Abin:array of Byte;
begin
AFileName:='D:\test\图片.bmp';
AFile:=FileStream.Create(AFileName,FileMode.Open);
BFile:=System.IO.FileInfo.Create(AFileName);
AFileName:=BFile.Name;
BFile.Free;
SetLength(ABin,AFile.Length);
AFile.Read(ABin,0,AFile.Length);
try
Response.ContentType := 'application/octet-stream';
Response.AddHeader('Content-Disposition','attachment;filename='+
{HttpUtility.UrlEncode(AfileName,Encoding.UTF8 ) }Server.UrlPathEncode(AFileName));
Response.ContentEncoding:=Encoding.Unicode;
Response.BinaryWrite(ABin);
finally
AFile.Free;
end;
end;
这里,要对文件名编码,采用两种方式都行:
1. HttpUtility.UrlEncode(AfileName,Encoding.UTF8 )
2. Server.UrlPathEncode(AFileName)