Richfaces fileUpload:如何设置临时文件的路径以及如何清理它

时间:2011-09-14 13:04:27

标签: java tomcat file-upload richfaces

我在Tomcat服务器上使用Richfaces(在linux下)。我将上传器更改为createTempFiles来保存一些ram。默认情况下,它现在将文件加载到“ 35f1968e-13267391427--71a74431089769578330705.upload ”等文件中的 ../ tomcat / temp / 。不幸的是,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>

所以如果我不能改变目录(除了某人知道一种方式) - 如何在使用它之后摆脱临时文件?谢谢!

1 个答案:

答案 0 :(得分:0)

您上传的文件有多大?无论如何,rich组件将上载的文件存储在临时文件夹中。您还可以检查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;
    }