Scala HTTP响应内容类型

Scala HTTP响应内容类型,scala,http-headers,download,mime-types,servlet-3.0,Scala,Http Headers,Download,Mime Types,Servlet 3.0,我正在通过servlet实现一个文件下载功能,并尝试使用文件。probeContentType没有成功,它似乎没有选择正确的MIME类型,因此在出现这种情况时,我使用默认值应用程序/octet流。在我的测试中,该设置似乎适用于所有不同的文件类型,如tar、gif、gz、mp4、xml、json,在文件正确下载并可以使用各自的应用程序打开时工作 第一个问题,如果有人能告诉我,我在probeContentType方面有什么错误,或者有更好的方法来确定mime类型,那将是非常感谢的,下面是Scala中

我正在通过servlet实现一个文件下载功能,并尝试使用
文件。probeContentType
没有成功,它似乎没有选择正确的MIME类型,因此在出现这种情况时,我使用默认值
应用程序/octet流
。在我的测试中,该设置似乎适用于所有不同的文件类型,如
tar、gif、gz、mp4、xml、json
,在文件正确下载并可以使用各自的应用程序打开时工作

第一个问题,如果有人能告诉我,我在
probeContentType
方面有什么错误,或者有更好的方法来确定mime类型,那将是非常感谢的,下面是Scala中的几行代码

val is = new FileInputStream(file)
val mt = Files.probeContentType(file.toPath)
val mimetype = if (mt == null) "application/octet-stream" else mt
不管怎样,始终将HTTP响应
内容类型设置为
应用程序/octet流
可以吗?我只测试过Chrome和Firefox

更新如果有人想知道的话,我最后使用了这个。到目前为止,它对于我抛出的所有文件类型都非常有效。下面是Scala代码的片段

import eu.medsea.mimeutil.MimeUtil
val file = new File("path-to-your-file")
MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector")
val mt = MimeUtil.getMimeTypes(file).toString
下面是一些MIME类型检测库的有用代码片段