gpt4 book ai didi

spring - 如何使用inputStream获取文件名和文件类型?

转载 作者:行者123 更新时间:2023-12-04 00:44:34 69 4
gpt4 key购买 nike

伙计们,我正在使用 inputStream 进行文件下载。现在我想将 fileName 和 fileType 传递到 DefaultStreamedContent 中。现在我如何使用 inputStream 找到 fileName 和 FileType 。

InputStream inputStream = new BufferedInputStream(new FileInputStream(filePath));
fileDownload = new DefaultStreamedContent(inputStream,**fileType,fileName**);

最佳答案

无法从 InputStream 中提取此信息.此信息只能基于 filePath 提取。 (并且在 java.io.File 的帮助下轻松获取文件名)。

File file = new File(filePath);
InputStream inputStream = new FileInputStream(file);
String fileName = file.getName();
String fileType = FacesContext.getCurrentInstance().getEexternalContext().getMimeType(fileName);
fileDownload = new DefaultStreamedContent(inputStream, fileType, fileName);
ExternalContext#getMimeType()是根据 <mime-mapping> 确定的 web.xml 中的条目. servletcontainer 已经自己定义了一大堆(在 Tomcat 中,检查 /conf/web.xml),但是您可以通过在 webapp 自己的 /WEB-INF/web.xml 中(重新)定义它们来扩展和覆盖它。对于 XLSX 类型,如下所示:
<mime-mapping>
<extension>xlsx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
</mime-mapping>

关于spring - 如何使用inputStream获取文件名和文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230513/

69 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com