在一个案例中,项目在一台计算机上运行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
答案 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)然后您只需将文件内容写入响应流或编写器。