在html下实现文件上传非常简单,但我注意到有一个'accept'属性可以添加到<input type="file" ...>标记中.
此属性是否可用作限制文件上传到图像等的方法?使用它的最佳方法是什么?
或者,有没有办法限制文件类型,最好是在文件对话框中,为html文件输入标签?
我在用
< input type="file" >上传文件.
要仅上传选择性文件,我使用"接受".因此,对话框包含我选择的文件扩展名类型.但是有一个"所有文件"的选项,我不想要那里.
如何删除此选项?

我有一个带有输入表单的 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 上)浏览它并单击“选择文件”按钮时,我看到:
请注意,第一个和默认过滤器是“图像文件”。
所以我做了一个基本的 C# UWP 应用程序,其中包含一个导航到此页面的 WebView(使用此处的示例):
请注意,在这种情况下,下拉列表不仅会以不同的方式列出文件类型(每个扩展名/类型各一行),而且还会在“所有文件”中作为第一个和默认选项打开。
我已经明白(从这里)我无法删除“所有文件”选项。但是有什么方法可以让 C# UWP WebView 中的文件选择器使过滤器列表更像 Chrome 浏览器中的过滤器列表?或者至少让“所有文件”不是默认的第一个选项?
编辑:基于 Chromium 的WebView2可以解决这个问题,但它似乎不支持 UWP 应用程序(这是我在这里的目标),正如这里和这里提到的。
<input type="file" accept=".jpg">
Run Code Online (Sandbox Code Playgroud)
这使文件选择对话框默认为仅允许JPG文件,但是还有一个下拉菜单用于选择所有文件:All Files (*.*)。我如何才能使其仅允许JPG文件,而不能在下拉菜单中选择“所有文件”?
html ×3
javascript ×2
c# ×1
filter ×1
html5 ×1
jquery ×1
mime-types ×1
uwp ×1
webforms ×1
webview ×1