我用Delphi的ASP对象TASPObject 开发ASP上传文件组件,我把Request的数据读出,再转成string,然后读出文件部分数据,最后保存就可以。
但在读Request的数据的时候,如果超过1M的文件,速度就比较慢,然后还要把读出的数据转成string , 又要用一倍的时间。总共要10秒左右。
我见过用perl写的上传文件CGI,上传3M的文件也就1秒,请问如何加快读数据和转数据的速度?procedure TUpLoad.OnStartPage(const AScriptingContext: IUnknown);
var
ReqLength,I,:Integer;
OleReqLength : OleVariant;
ReqByteData : OleVariant;
ReqData :String;
begin
inherited OnStartPage(AScriptingContext); ReqLength := Request.TotalBytes;
OleReqLength := ReqLength;
//读Request里的数据
ReqByteData := Request.BinaryRead(OleReqLength);
//转数据成String
for I := 0 to ReqLength-1 do
begin
ReqData := FReqData + Chr(Byte(ReqByteData[I]));
end;
end;谢谢!!!
但在读Request的数据的时候,如果超过1M的文件,速度就比较慢,然后还要把读出的数据转成string , 又要用一倍的时间。总共要10秒左右。
我见过用perl写的上传文件CGI,上传3M的文件也就1秒,请问如何加快读数据和转数据的速度?procedure TUpLoad.OnStartPage(const AScriptingContext: IUnknown);
var
ReqLength,I,:Integer;
OleReqLength : OleVariant;
ReqByteData : OleVariant;
ReqData :String;
begin
inherited OnStartPage(AScriptingContext); ReqLength := Request.TotalBytes;
OleReqLength := ReqLength;
//读Request里的数据
ReqByteData := Request.BinaryRead(OleReqLength);
//转数据成String
for I := 0 to ReqLength-1 do
begin
ReqData := FReqData + Chr(Byte(ReqByteData[I]));
end;
end;谢谢!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货