java - Richfaces文件上传: How to set path of temp files and how to clean it

标签 java tomcat file-upload richfaces

我在 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/

相关文章:

tomcat - Orbeon Forms with Oracle(处理请求时发生错误。)

java - ClassNotFoundException 与 NoClassDefFoundError 与无法找到或加载主类 XYZ 之间的区别是什么?

java - 迭代器和可迭代之间有什么区别以及如何使用它们?

javascript - vaadin 网格的组件渲染器

eclipse - java.lang.IllegalArgumentException : Document base [. ..]org.eclipse.wst.server.core\tmp0\wtpwebapps[...] 不存在或不是可读目录

grails - 通过 Grails 安全上传文件

java - 访问类类型动态已知的对象的方法和函数

apache - Tomcat 容器和 Docker 容器有什么区别?

php - 验证上传的文件是否为实际图像文件很重要吗?

image - 如何在Flutter中将图像下载到画廊