java JSP:在文件上载时获取MIME类型
我正在上传文件,我想从上传的文件中获取Mime类型
我试图使用请求。getContentType(),但调用时:
String contentType = req.getContentType();
它将返回:
multipart/form-data; boundary=---------------------------310662768914663
如何获得正确的值
提前谢谢
你可以在下面搜索框中键入要查询的问题!
我正在上传文件,我想从上传的文件中获取Mime类型
我试图使用请求。getContentType(),但调用时:
String contentType = req.getContentType();
它将返回:
multipart/form-data; boundary=---------------------------310662768914663
如何获得正确的值
提前谢谢
# 1 楼答案
你可以用MimetypesFileTypeMap
但是,您会遇到编辑mime的开销。如果文件类型尚未列出,则键入文件。(抱歉,我收回这一点,因为您可以通过编程方式将实例添加到映射中,这将是它检查的第一个位置)
# 2 楼答案
只需使用:
# 3 楼答案
听起来就像是在家里种植一个} 来提取客户端指定的内容类型(如果有的话)
multipart/form-data
解析器。我不建议这样做。而是使用一个像样的Apache Commons FileUpload。对于上传的文件,它提供了一个^{如果它返回}
null
(仅仅因为客户端没有指定它),那么您可以根据文件名利用^{这将基于servletcontainer的默认
web.xml
中的<mime-mapping>
条目(例如Tomcat,它存在于/conf/web.xml
)以及您的webapp的web.xml
条目(如果有)来解决,这些条目可以扩展/覆盖servletcontainer的默认映射但是,您需要记住,多部分内容类型的值完全由客户端控制,而且客户端提供的文件扩展名不一定需要表示实际的文件内容。例如,客户端可以只编辑文件扩展名。在业务逻辑中使用这些信息时要小心
相关: