2

我需要限制用户上传某些类型的文件,我应该怎么做?我知道我可以接收文件并检查 ContentType 变量,但我需要更改他们的浏览器查找文件的方式。

假设所需的文件类型是 csv,当他们单击上传并打开窗口以在其文件系统中查找文件时,他们应该只能看到具有 csv 扩展名的文件。通过这种方式,他们被迫上传 CSV 文件,因为没有其他文件可供选择。

<s:form id="uploadCSV" method="POST" action="add"  enctype="multipart/form-data">
    <s:file name="csv" label="Upload File"/>
    <s:submit/>
</s:form>
4

2 回答 2

3

一些浏览器支持 Input File 控件的“ accept ”属性。如果您正在寻找所有浏览器支持,您可能需要使用任何基于 Flash 的上传插件。

除此之外,正如您所说,检查 ContentType 是唯一的方法。

于 2013-05-27T02:06:54.580 回答
1

HTML5 标准为输入元素指定了一个accept属性。它允许您指定 MIME 类型和扩展名,标准建议同时指定两者,因此您的代码应如下所示:

<input type="file" accept=".csv,text/csv"></input>

HTML4不允许指定 extensions,所以只能使用 MIME 类型:

<input type="file" accept="text/csv"></input>
于 2013-05-27T02:19:45.947 回答