因此,我想将用户上传选项限制为特定文件扩展名列表。这纯粹是为了让用户更容易,我也已经限制了服务器上的文件类型上传。
我有一个扩展列表,但没有 mime 类型列表。由于接受的扩展可能会发生变化,而且我没有看到任何完全可靠的方法来动态计算它们的 mime 类型(并且宁愿避免这种情况);我想只是将扩展提供给<input type="file">
元素的“接受”属性。
我注意到这在 Chrome 上完全符合预期,但在 FF 或 IE10 中却没有(在这些浏览器中,它似乎只是回退到所有文件)。
我意识到这不是标准的一部分,但有什么方法可以在“接受”属性中接受扩展而不是 mimetypes,这是(现代浏览器)跨浏览器友好的。我的测试用例使用<input type="file" accept=".doc,.docx,.bad" />
如果这是不可能的,最好的方法是什么?注意:我没有保证我的服务器注册表将包含我使用的扩展的所有 mimetypes,并且由于此列表可能很长,因此手动更新 mimetypes 列表是相当不切实际的(并且将是我的最后手段) .