输入的接受属性不识别应用程序/json?

Posted

技术标签:

【中文标题】输入的接受属性不识别应用程序/json?【英文标题】:Input's accept attribute doesn't recognise application/json? 【发布时间】:2018-03-21 15:27:09 【问题描述】:

我有一个从用户那里获取文件输入的应用程序。它接受的文件类型之一是 JSON。

inputaccept 中的文件扩展名在 most browsers 中被很好地识别(Safari 是主要的异常值),因此有时需要使用 MIME 类型。对于 JSON,扩展可以正常工作,但如果您使用 correct MIME type,则输入默认为“所有文件”作为过滤器。

Extension (.json): <br>
<input type="file" accept=".json">

<br><br>

MIME type: (application/json): <br>
<input type="file" accept="application/json">

这仅发生在 JSON 中,据我所知。这是为什么?类型还没有被完全接受吗?是bug吗?

编辑

测试日期:

                        | First | Second |
------------------------|-------|--------|
Windows 10/Chrome 61    |Success|  Fail  |
Windows 10/Firefox 56   |Success|Success |
OSX ElCapitan/Safari 9  | Fail  |Success |
Windows 10/Edge 40      |Success|  Fail  |

看到它在 Firefox 上运行后,我开始认为这是 Chrome 上的一个错误。

【问题讨论】:

组合起来怎么样 - accept=".json,application/json",我想知道它的行为如何? @Teqchiqe 好吧,这将适用于所有浏览器。但问题是为什么它不能单独工作。我认为这是一个错误。 Chrome 早就修复了这个 bug。 【参考方案1】:

请试试这个标题:

accept="application/JSON"

它对我有用。

【讨论】:

以上是关于输入的接受属性不识别应用程序/json?的主要内容,如果未能解决你的问题,请参考以下文章

模式属性不接受电子邮件

Kinect 语音识别和骨骼跟踪不能一起工作

三词法分析

如何编写一个接受具有“多类型属性”的 Json 的 WebService?

在python中识别密码验证中的特殊字符

如何使用用户输入打开api JSON [重复]