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

java创建我的应用程序可以识别的自定义文件扩展名,java,archive,file-extension,Java,Archive,File Extension,我想定义一个我的应用程序可以识别的自定义文件格式。该文件实际上是一个归档文件,但我希望文件扩展名不同,并且具有不同的mimetype。档案的内容将在一个特定的结构,所以我可以很容易地找到条目 此外,当用户上传时,我希望浏览器过滤目录,仅显示具有此扩展名的文件 解决此问题的最佳方法是什么。表单标记有一个“accept”属性,可以指定接受文件的mime类型 请参阅thins w3schools文章: 例如: <form action="form_action.asp" accept="imag

我想定义一个我的应用程序可以识别的自定义文件格式。该文件实际上是一个归档文件,但我希望文件扩展名不同,并且具有不同的mimetype。档案的内容将在一个特定的结构,所以我可以很容易地找到条目

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

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

表单标记有一个“accept”属性,可以指定接受文件的mime类型

请参阅thins w3schools文章:

例如:

<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>

名字:
姓氏:
您的图像:

(不过,任何主流浏览器似乎都不支持!)

这主要取决于您所说的“识别”是什么意思

例如,在一般意义上,你根本不需要做很多工作。如果您定义了一个名为
*.qip
的东西,它与ZIP文件具有相同的一般结构,那么您所要做的就是让应用程序像读取标准ZIP文件一样读取该文件。文件名(以及在较小程度上的MIME类型)与应用程序如何处理文件没有任何关系——它将完全按照您编写的代码来处理文件

现在,如果您已将应用程序编码为使用第三方库来执行此文件处理,则需要查看库文档,因为如何实现它(如果支持的话)会有所不同


至于文件上传表单字段,这更为棘手。理论上,您可以使用
accept
属性指定MIME类型筛选器,但我认为几乎所有主流浏览器都忽略了这一点。有鉴于此,我不认为有任何健壮的可以在客户端进行检查-但是,嘿,至少没有其他人可以这样做。您正在检查服务器端文件的有效性,对吗?:-)

德克萨斯州安德烈。因此,我需要担心的是归档文件的服务器端处理。但是,当你收到上传文件时,是否可以检查其文件扩展名?@Farouk:当然可以,文件名包含在多部分数据中。请记住,它只是一个名称,仅此而已,因此它可能是如何处理它的一个线索,但不应该是您所依赖的全部。例如,您将如何处理一个名为
file
(这是一个完全有效的名称)的文件?太多了。我所有的波兰朋友都很乐于助人。。至少我可以尝试做正确的事情,在服务器端进行验证