我们有一个内容管理系统,允许我们的用户存储通过 REST Web 服务上传的文件。在将这些文件存储在存储库中之前,它们的内容会被加密。
检索这些文件时,文件内容被解密,并放入一个字节数组中。目的是将这些内容作为可以存储在本地计算机上的文件附件传递回客户端。
为此,我目前将内容存储到临时文件中,并将临时文件作为附件传回。这种方法具有先前加密的存储库文件的令人讨厌的副作用,被“明文”存储在临时目录中。
我知道我可以将临时文件设置为在 JVM 结束时自动删除,但由于这是一个服务器,服务器重启之间可能需要很长时间。
我也可以(我猜)设置某种侦听器作业来定期检查临时目录并删除超过一定年龄的文件,但这似乎很麻烦并且并不能真正解决问题 - 它只是缩短了曝光时间。
我正在寻找避免临时文件的替代方法,但仍允许用户通过 Web 服务将(最好在内存中)文件作为附件下载。
任何的想法?
谢谢!