Приложение IntraWeb блокируется при отправке файла в браузер в виде вложения

#delphi #intraweb

#delphi #intraweb

Вопрос:

я пытаюсь развернуть веб-приложение с использованием intraweb 14.0.32, delphi xe6 и MSSQL server. мне нужно показать вложение письма, когда пользователь нажимает на имя файла. вот мой код для выполнения этой операции. проблема в том, что когда пользователь нажимает на ссылку, чтобы показать вложение, файл загружается на компьютер пользователя, но приложение блокируется, показывая страницу загрузки. поэтому, пожалуйста, помогите мне определить проблему. Спасибо.

 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;
  

Ответ №1:

Хорошо, я нашел свой ответ, и я просто хочу упомянуть его здесь для людей, у которых может возникнуть подобная проблема.

вам просто нужно установить для свойства формы «lockonsubmit» значение false, и это снимет эту блокировку с ошибкой.