我正在开发一个需要打开附件的应用程序。我需要点击“打开”按钮并打开一个 pdf 文件。我的方法是从服务器获取内容并将其写入临时目录上的某个位置。
但是,当我尝试从远程计算机访问此服务时, http://myserverIP:port/openMyAttachment ,它访问 myserverIP 的临时目录而不是本地计算机。然后它会打开 myserverIP 上的文件。
我使用以下代码来获取临时目录:
String tmp = System.getProperty("java.io.tmpdir");
JFileChooser fc = new JFileChooser();
FileSystemView fsv = fc.getFileSystemView();
File f = fsv.getDefaultDirectory();
String dir = f.getAbsolutePath();
String strDirectory = "temp~" + f.separator;
有人可以分享一下你的想法吗?如何访问本地计算机上的临时目录并将文件写入本地计算机?
最佳答案
您尝试在服务器上执行的操作过多。如果您有一个本地运行的 Java 程序,那么它应该显示 JFileChooser,然后获取文件,将其写入本地临时空间,然后显示它。服务器应该做的唯一一件事就是提供一个InputStream
来从中获取文件内容。如果您将服务器更改为具有 getAttachment
查询(或其他内容),而不是仅返回 pdf 文件的 openMyAttachment
查询。然后您应该能够使用 URLConnection
获取它并在本地计算机上完成工作。
关于java - 如何访问本地机器的temp目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311830/