微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

为了证明差异,我制作了此示例网页以与Node.js(基于this tutorial)一起运行:

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);

当我使用Chrome浏览器(在Windows上)浏览并单击“选择文件”按钮时,看到以下内容

screenshot of file picker from Chrome on Windows

请注意,第一个也是认的过滤器是“图像文件”。

因此,我做了一个基本的C#UWP应用程序,其中包含一个导航到此页面的WebView(使用example here):

screenshot of file picker from C# UWP

请注意,在这种情况下,下拉列表不仅以不同的方式列出文件类型(每个扩展名/类型一行),而且还会在“所有文件”上作为第一个认选项打开。

我已经了解(from here)我无法删除“所有文件”选项。 但是,有什么方法可以使C#UWP WebView内部的文件选择器更像是来自Chrome浏览器的筛选器列表吗?或至少使“所有文件”不是认的第一选择?

编辑:基于铬的WebView2可以解决此问题,但似乎不支持UWP应用(这是我在这里的目标),如herehere所述。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。