【问题标题】:Accept attribute for input[type=file] allows other extensions输入 [type=file] 的 Accept 属性允许其他扩展
【发布时间】:2017-01-23 08:18:58
【问题描述】:

有人知道为什么这个输入接受 .php 文件扩展名吗?

(至少在最新版本的chrome中)

<input type="file" accept=".doc,.pdf,.txt,.rtl">

【问题讨论】:

  • 请参考这个,它说使用文件类型而不是扩展名stackoverflow.com/questions/17293861/…
  • FWIW,一个.php 文件基本上一个用于所有意图和目的的.txt 文件……Chrome 的行为甚至没有错。
  • 用 checkfiletype.com 检查文件的类型,它应该是 MIME Type: text/plain;
  • @deceze,不,应该考虑文件扩展名,而不是设置 .any 时的 MIME。 .txt 可以是任何东西。请注意,如果您将 image/png 重命名为 file.txt,chrome 仍会将其显示为已接受
  • @Kaiido 是的,但这值得商榷。 .txt 文件包含纯文本。 .php 文件包含纯文本。 Po-tay-to,po-tah-to… :)

标签: html file


【解决方案1】:

这显然是 Mac OS 独有的错误。
我无法从我的 win10 虚拟机中复制它,但它仍然存在于 v.55.0.2861.0 canary 中。


问题似乎来自.txt
设置此扩展名后,它就像接受任何 text/* 文件一样。

您可以为this chromium issue 加注星标,它处理相同的潜在问题(具有不同的扩展名)。

<input type="file" accept=".txt">

【讨论】:

  • 很好,删除了 .txt 文件,这就是我的预期。感谢您的澄清!
  • @kaiido 如果您允许上传txt 文件但不允许上传js,会采用什么方法?我试过text/plain 但这没有用
猜你喜欢
  • 2012-02-21
  • 2016-02-23
  • 2018-11-14
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多