输入元素的自定义 mime 类型

Posted

技术标签:

【中文标题】输入元素的自定义 mime 类型【英文标题】:Custom mime type for input element 【发布时间】:2018-02-11 23:02:18 【问题描述】:

根据https://www.w3.org/wiki/html/Elements/input/file的规范

“accept”属性是一系列 MIME 类型。

在这种情况下(即文件不是来自服务器),是否可以为某个文件扩展名或二进制文件窥视设置自定义 MIME 类型(例如读取标题的某些过程)?

【问题讨论】:

我不确定你想在这里做什么。几种可能的解释:“我可以根据浏览器知道的 MIME 类型以外的东西来限制文件输入将接受的文件吗?”和“当我提交包含文件输入的表单时,我可以指定浏览器将标记文件的 Content-Type 吗?” 【参考方案1】:

是的,您可以设置自定义 MIME 类型。

The Living Standard specification states "accept 属性可以指定为用户代理提示将接受哪些文件类型。"

要使用它,请使用以下<input type="file" name="example" accept= "your-custom-extension-1, your-custom-extension-2, your-custom-extension-3">

另外,请阅读以下关于acceptattribute的声明:“如果type属性的值为file,那么该属性将指示服务器接受的文件类型,否则将被忽略”。

【讨论】:

以上是关于输入元素的自定义 mime 类型的主要内容,如果未能解决你的问题,请参考以下文章

PHP 文件的自定义 MIME 类型

Django 在自定义 404 页面上传输具有 MIME 类型 text/html 的样式表

我可以在 Android 中创建自定义图像 MIME 类型吗?

为啥找不到我的自定义 WCF 行为扩展元素类型?

angular 2+ 中的自定义输入类型

未知的自定义元素和指令