将文件作为附件发送到浏览器时,IntraWeb应用程序锁定



我正在尝试使用intraweb 14.0.32、delphi xe6和MSSQL服务器部署一个web应用程序。当用户点击文件名时,我需要显示邮件的附件。这是我执行该操作的代码。问题是,当用户点击链接显示附件时,文件将下载到用户的计算机上,但应用程序锁定显示加载页面。所以请帮我找出问题。非常感谢。

procedure TMailMgr_f.IWDBGrid2Columns0Click(ASender: TObject;const AValue: string);
var
blob:TStream;
qryAttach:TADOQuery;
fileName:string;
begin
qryAttach:=TADOQuery.Create(self);
qryAttach.Connection:=ADOConnection1;
qryAttach.SQL.Add(format('SELECT OrginalFileName,Attachment FROM Mail_Attachmentwhereid=%s'[AValue]));
qryAttach.Active:=true;
blob := qryAttach.CreateBlobStream(qryAttach.FieldByName('Attachment'),
bmRead);
fileName:=qryAttach.FieldByName('OrginalFileName').AsString;
qryAttach.Close;
WebApplication.SendStream(blob,true,'image/jpeg',fileName);
end;

好的,我找到了我的答案,我只想在这里为可能有类似问题的人提及它。

你只需要设置";lockonsubmit";表单的属性为false,这将删除该错误锁。

最新更新