从Content-Disposition获取文件名

我正在使用JSP将blob文件从HTML表单上传到数据库。我需要将文件名插入数据库。我知道文件名存储在Content-

Disposition标头中,如何获取?

回答:

如果您使用JavaEE 6通过HttpServletRequest.getPart以下方式上传文件:

Part part = request.getPart("xxx"); // input type=file name=xxx

String disposition = part.getHeader("Content-Disposition");

String fileName = disposition.replaceFirst("(?i)^.*filename=\"?([^\"]+)\"?.*$", "$1");

参见第1部分。


正如@Marc所述,我没有处理URL编码。(他还使文件名周围的引号是可选的。)

fileName = URLDecoder.decode(fileName, StandardCharsets.ISO_8859_1);

未选中,但标头的HTTP编码应为默认的ISO-8859-1。

以上是 从Content-Disposition获取文件名 的全部内容, 来源链接: utcz.com/qa/436178.html

回到顶部