CEF3上传文件没有打开对话框

时间:2018-06-19 09:28:23

标签: delphi chromium tchromium

我在Delphi 10.1的项目中使用CEF 3.2454.1344.g2782fb8(Chromium 45.0.2454.101)。 (我必须使用相当旧版本的CEF / Chromium来向后兼容WinXP)。所以我的问题是:当我点击"上传"任何网站上的按钮我得到一个打开文件对话框,并且必须选择要上传的文件。可以不向用户显示此对话框,但是给CEF一些预先指定的文件呢?

更新:我已尝试通过OnFileDialog执行此操作,这正是我需要的:点击"上传"按钮我在网页上显示了一个文件,但是Chromium在此之后立即崩溃了。有什么想法吗?

procedure TMainForm.crm_asFileDialog(Sender: TObject;
  const browser: ICefBrowser; mode: TCefFileDialogMode;
  const title, defaultFilePath: ustring; acceptFilters: TStrings;
  selectedAcceptFilter: integer; const callback: ICefFileDialogCallback;
  out Result: Boolean);
var
  file_list: tstringlist;
begin
  file_list := tstringlist.Create;
  file_list.Add
    ('https://testsite.com/my_image.jpg');
  callback.Cont(0, file_list);
  file_list.Free;
  Result := true;
end;

更新2:表单的HTML代码

<form method="post" enctype="multipart/form-data">
  <input accept="image/*" type="file" name="file1" />
  <input accept="image/*" type="file" name="file2" />
  <input accept="image/*" type="file" name="file3" />
</form>

0 个答案:

没有答案