我在 Tomcat 服务器(Linux 下)上使用 Richfaces。我将 uploader 更改为 createTempFiles 以节省一些内存。默认情况下,它现在将文件加载到 ../tomcat/temp/ 中,如“35f1968e-13267391427--71a74431089769578330705.upload”。不幸的是,Tomcat/Richfaces 不会删除这些文件。我该如何启用它?以及如何更改保存文件的文件夹的位置?我尝试了下面的配置,它没有改变任何东西(bug report - 如果我理解正确,它在 Richfaces v3.3.3 中不可用)
<init-param>
<param-name>createTempFiles</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<description>
Set the path where the intermediary files will be stored.
</description>
<param-name>uploadRepositoryPath</param-name>
<param-value>uploadedfiles/</param-value>
</init-param>
所以如果我不能更改目录(除非有人知道办法)- 如何在使用后删除临时文件?谢谢!
最佳答案
您上传的文件有多大?无论如何,富组件将上传的文件存储在临时文件夹中。您还可以检查 item.isTempFile() 是否从文件操作中删除。而且你不需要初始化到 DD。
public synchronized void fileUploadListener(UploadEvent event) {
UploadItem item = event.getUploadItem();
uploadedFile = item.getFile();
isFileUploaded = true;
}
onClear你可以添加这个事件。
public void resetFileUpload(UploadEvent event) {
LOGGER.info("Resetting the file uploaded");
uploadedFile = null;
isFileUploaded = false;
}
关于java - Richfaces文件上传: How to set path of temp files and how to clean it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416769/