基于 Web 的文件选择器在浏览器和 WebView 中的行为不同

Yoa*_*ein 6 javascript c# webforms webview uwp

我有一个带有输入表单的 Web 应用程序,其中一个字段要求用户从他们的 PC 中选择一个文件。我注意到相同的代码在 Web 浏览器(特别是 Chrome)中运行时打开的文件选择器与在 C# UWP WebView 中运行时打开的文件选择器略有不同。

为了演示差异,我制作了此示例网页以与 Node.js 一起运行(基于本教程):

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
  res.write('<input type="file" name="filetoupload" accept="image/*"><br>');
  res.write('</form>');
  return res.end();
}).listen(4000);
Run Code Online (Sandbox Code Playgroud)

当我使用 Chrome(在 Windows 上)浏览它并单击“选择文件”按钮时,我看到: Windows 上 Chrome 中文件选择器的屏幕截图 请注意,第一个和默认过滤器是“图像文件”。

所以我做了一个基本的 C# UWP 应用程序,其中包含一个导航到此页面的 WebView(使用此处示例): 来自 C# UWP 的文件选择器的屏幕截图 请注意,在这种情况下,下拉列表不仅会以不同的方式列出文件类型(每个扩展名/类型各一行),而且还会在“所有文件”中作为第一个和默认选项打开。

我已经明白(从这里)我无法删除“所有文件”选项。但是有什么方法可以让 C# UWP WebView 中的文件选择器使过滤器列表更像 Chrome 浏览器中的过滤器列表?或者至少让“所有文件”不是默认的第一个选项?

编辑:基于 Chromium 的WebView2可以解决这个问题,但它似乎不支持 UWP 应用程序(这是我在这里的目标),正如这里这里提到的。