我需要限制用户上传某些类型的文件,我该怎么做?我知道我可以接收文件并检查ContentType变量,但我需要更改浏览器查找文件的方式。
让我们说所需的文件类型是csv,当他们点击上传并打开窗口查找文件系统中的文件时,他们应该只能 查看带有csv扩展名的文件< / EM> 即可。通过这种方式,他们被迫上传CSV文件,因为没有其他文件可供选择。
<s:form id="uploadCSV" method="POST" action="add" enctype="multipart/form-data">
<s:file name="csv" label="Upload File"/>
<s:submit/>
</s:form>
答案 0 :(得分:3)
某些浏览器支持“accept”属性和“输入文件”控件。如果您正在寻找所有浏览器支持,您可能需要使用任何基于闪存的上传插件。
除此之外,正如您所说,检查ContentType是唯一的方法。
答案 1 :(得分:1)
HTML5标准为输入元素指定accept
attribute。它允许您指定MIME类型和扩展名,标准建议指定两者,因此您的代码应如下所示:
<input type="file" accept=".csv,text/csv"></input>
HTML4 does not allow specifying extensions,因此您只能使用MIME类型:
<input type="file" accept="text/csv"></input>