java创建我的应用程序可以识别的自定义文件扩展名

时间:2010-11-04 13:51:13

标签: java archive file-extension

我想定义一个我的应用程序可以识别的自定义文件格式。该文件实际上是一个存档,但我希望文件扩展名不同,并且还有不同的mimetype。存档的内容将采用特定结构,因此我可以轻松找到条目。

此外,当用户上传时,我希望浏览器过滤目录,只显示具有此扩展名的文件。

解决此问题的最佳方法是什么。

2 个答案:

答案 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类型过滤器,但我认为这只是每个主要浏览器的忽略。鉴于此,我认为你可以做客户端检查这一点强大 - 但是嘿,至少没有其他人可以做到这一点。你正在检查服务器端文件的有效性,对吗? : - )