我有一个托管bean。 HTML / JSF页面将压缩文件作为零件发送。我需要从中提取内容,但要做到这一点,我需要将它作为文件。是否可以将Part转换为File,如下所示,然后将其视为普通的zip文件?
Part xmlFile;
public void myMethod()
{
File zippedFile = (File) getXmlFile();
....
}
如果没有,我该怎么做呢?我在网上看过,但似乎信息很少。
答案 0 :(得分:1)
您可以创建临时文件:
File aFile = File.createTempFile(PREFIX, SUFFIX);
将Part
有效负载的内容写入该文件:
try (InputStream input = part.getInputStream()) {
Files.copy(input, aFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
您可能还想使用File
delete()
或deleteOnExit()
来清理资源。请记住,只有在JVM退出时才会调用deleteOnExit()
,这可能不是您想要的。