日期:2014-05-17  浏览次数:20733 次

牛人们请教你们个问题:怎么用JSP在IE中打开本地的.doc/.xls/.pdf并浏览啊
急 :我做的是个管理系统:
我想指定路径,管理者可以打开本地的DOC PDF XLS文件。 然后一般的浏览者可以打开服务器上的DOC PDF XLS文件。
 谢谢各位大侠
请给出详细的答案 详细配置什么的 谢谢

------解决方案--------------------
打开本地
String cmdtt = "C:\\Program Files\\Microsoft Office\\OFFICE11\\winword.exe "+filename;
try{
System.out.println("begin");
Process p = Runtime.getRuntime().exec(cmdtt);
p.waitFor();
System.out.println("end");
}
catch()
...

为了让能在IE浏览器中自动打开的设置:需要在WEB.XML中进行如下的设置:在WEB.XML中添加<mime-mapping>,其中:
<extension>: 文件的扩展名
<mime-type>: 除了该类型文件的可执行文件,同WINDOW注册表中的
/HKEY_CLASSES_ROOT下该类文件的Content Type 的值一样.
如能在IE中自动打开DOC,XLS,PDF文件的配置如下:

<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>

<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>

<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>

<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>

</web-app>
------解决方案--------------------
不能用超链接如果你用超链接的话在别的机器上访问的时候链接的是别人机器的路径并不是你的机器的路径

用jsp直接打开excel文件

<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ page import="java.io.*"%>
<%response.reset();
response.setContentType("application/vnd.ms-excel");
InputStream ips = new FileInputStream("H:/java/Tomcat5.5/webapps/web/your.xls");//<---你的xls文件
OutputStream ops = response.getOutputStream();

int data = -1;
while((data = ips.read()) != -1) {

ops.write(data);
}

ops.flush();%>

文件位置可以随便指定

------解决方案--------------------
探讨
没看懂!
打开服务器?你做个超链接就行了!
打开本地?浏览器怎么打开本地?我不知道怎么做,因为有安全问题,不过你可以一样用超链接,比如
<a href="c:/tt/1235.pdf"> ...

------解决方案--------------------
引用楼主 liaojyun 的帖子:
急 :我做的是个管理系统:
我想指定路径,管理者可以打开本地的DOC PDF XLS文件。 然后一般的浏览者可以打开服务器上的DOC PDF XLS文件。
谢谢各位大侠
请给出详细的答案 详细配置什么的 谢谢

------解决方案--------------------
你的设计有问题,数据库里你存的是不是类似c:\aaaa\bbbb\test.pdf这样的本地地址?
你应该存相对地址,且存放文件的目录应该在项目路径下面这样在发布后,客户端才能通过URL在服务器上找到文件
如果你的项目名称为manager即项目的文件夹为manager,存放文件的目录files在mamager内 即 .../manager/files/...
你在数据库中存的路径从files开始就可以了,前面的路径是在运行时的得出的,因为运行时的路径类似于:http://XXX.XXX.XXX.XXX:8080//manager/...
这一段URL[http://XXX.XXX.XXX.XXX:8080//manager/]是可能会变的(IP,端口),在程序中是通过一些方法动态获得到的,不能写死。
然后将其和数据库里的相对地址拼起来就是完整的文件地址
------解决方案--------------------
探讨
不能用超链接如果你用超链接的话在别的机器上访问的时候链接的是别人机器的路径并不是你的机器的路径

用jsp直接打开excel文件

<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ page import="java.io.*"%>
<%response.reset();