如何使用java从本地机器打开远程机器上的文件?

时间:2015-07-26 09:22:42

标签: java tomcat server

在一个案例中,项目在一台计算机上运行tomcat服务器,其功能是在按钮上创建文本文件,单击其本地驱动器(例如,C:\ Project \ Sample.txt)。

其他用户可以连接到此服务器并具有相同的视图,但是当此远程用户单击按钮时,该文件将在运行服务器的计算机的本地路径上创建,

所以问题是,当远程用户点击同一个按钮时,我们可以在远程机器上打开或下载文件(例如,在远程机器的本地驱动器中)以供查看吗?

实施例,

服务器正在运行以下网址:

http://localhost:8068/panel.jsp

panels.jsp有一个用于创建文本文件的按钮。单击此按钮,将在本地驱动器上创建一个文本文件并打开。

客户端正在运行以下网址

http://192.168.1.2:8068/panel.jsp

现在,当客户端点击按钮时,我想在客户端的本地驱动器(而不是服务器机器的本地驱动器)上创建文本文件并打开它。

仅供参考:localhost = 192.168.1.2

1 个答案:

答案 0 :(得分:1)

看这里: http://www.mkyong.com/servlet/servlet-code-to-download-text-file-from-website-java/

基本上,您需要从servlet(或其上的某些技术,例如spring restful support)返回文件。确保你的servlet:

1)设置'Contenty-Type'标题(纯文本文件为text / plain,excel报告为application / vnd.ms-excel等)

2)设置“Content-Disposition”标题:这会导致浏览器正确下载到一个文件(具有您选择的有意义的文件名),而不仅仅是在浏览器窗口中呈现它... 显然,浏览器必须向用户显示“文件下载”弹出窗口,询问他的许可(可理解的安全问题)

3)然后您只需将文件内容写入响应流或编写器。