解决方法
这个问题的答案可能更多的是与html上传相关.
当您要上传文件时,通常会使用type =“file”进行输入.
这可以通过使用file_field_tag helper在Rails中完成.它将生成一个type =“file”的输入,它也可以具有accept属性,但是您不能真正使用它,因为它不会真正具有任何可见的效果.此属性接受MIME类型,而不是扩展名,大多数浏览器甚至不使用它.
您可以做的最好的事情可能是在上传之前(在从对话框中选择文件)之后,需要检查文件扩展名.在this question阅读更多.
关键是,您不能强制操作系统只显示您想要的文件扩展名.您可以使用JS验证扩展名,例如上传之前,或在上传服务器端之后检查文件的内容