我想定义一个我的应用程序可以识别的自定义文件格式。该文件实际上是一个存档,但我希望文件扩展名不同,并且还有不同的mimetype。存档的内容将采用特定结构,因此我可以轻松找到条目。
此外,当用户上传时,我希望浏览器过滤目录,只显示具有此扩展名的文件。
解决此问题的最佳方法是什么。
答案 0 :(得分:1)
form-tag有一个“accept”属性,可以指定接受文件的mime类型。
请参阅w3schools文章:http://www.w3schools.com/TAGS/att_form_accept.asp
示例:
<form action="form_action.asp" accept="image/gif, image/jpeg">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
Your image: <input type="file" name="pic" id="pic" /><br />
<input type="submit" value="Submit" />
</form>
(但似乎没有任何主流浏览器支持!)
答案 1 :(得分:1)
这主要取决于“认识”的含义。
例如,从一般意义上讲,您根本不需要做太多工作。如果你定义了一个名为*.qip
的东西,它具有与ZIP文件相同的通用结构,那么你所要做的就是让你的应用程序读取该文件,就像它是一个标准的zip文件一样。文件名(以及较小程度上的MIME类型)对应用程序处理文件的方式完全没有影响 - 它将完全按照您编写的方式执行此操作。
现在,如果您已将应用程序编码为使用第三方库来执行此文件处理,则需要查看库文档,因为这将在如何实现它方面有所不同(如果它完全受支持) )。
至于文件上传表单字段,这比较棘手。从理论上讲,你可以使用accept
属性指定一个MIME类型过滤器,但我认为这只是每个主要浏览器的忽略。鉴于此,我认为你可以做客户端检查这一点强大 - 但是嘿,至少没有其他人可以做到这一点。你正在检查服务器端文件的有效性,对吗? : - )