我正在使用数据库来存储blob。然后我使用JPA将blob读入实体。所以基本上我有byte[]
。
我正在使用的库中有一个类,其构造函数采用foo(String filePath)
或foo(File file)
。
我正在使用EJB,因此我无法访问服务器文件系统。我所拥有的只是blob的二进制数据。有没有办法可以以某种方式创建一个File对象,指向EJB世界中的数据,以便我可以使用我的库?某种或包装?
答案 0 :(得分:1)
虽然您不应该在EJB环境中创建文件,但更少有通过Java SE的File类与您的应用程序关联的文件夹可以创建一个临时文件,该文件将存储在用户的临时文件文件夹中。应用程序服务器进程。例如,以下代码片段创建一个临时文件,该文件将放在临时文件夹
中File tempV1 = File.createTempFile("tempfile", ".tmp");
//C:\Users\JAVIER~1.ZAM\AppData\Local\Temp\file4872171473798955694.tmp
如果为临时文件指定了一个特殊文件夹,则可以将其作为参数传递,如下所示:
File tempV2 = File.createTempFile("tempfile", ".tmp",
new File("c:/server/temporal"));
//C:\server\temporal\file631043069173548312.tmp
答案 1 :(得分:-1)
你可以这样做
<form id="signupform" name="signupform" ng-submit="createUser()">
<label for="email">Email</label>
<input type="email" ng-model="regisUser.email" ng-minlength="3" required />
<label for="username">Username</label>
<input type="text" ng-model="regisUser.username" required />
//File upload
<input type="file" name="file" required>
<button id="btn-signup" type="submit">Save</button>
</form>
在您调用文件对象上的方法createNewFile()之前,不会创建真实文件。