Tomcat运行jsp页面后,别的正常,可以超链接到本机上的供人下载的软件这类的东西确不行.高手指点一下. 补充一下,我用的是相对链接,供下载的软件就放在和index.jsp同个目录下.如:<a href="winrar.exe" >winrar.exe</a> 我想应该没错吧.为什么就是不行. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把href中的地址换成http://localhost:8080/...的格式时一试 同意 stonecsdn(东东) 把href中的地址换成http://localhost:8080/...的格式时一试 这个问题我也在csdn问过。可是没有人回答我。我后来想办法整出来了。自己试着做一下相应的修改:请看如下://----------------提供连接页----------------------------//<input type=button name=saveAs value="附件打开/另存" style="background-color: #BBDCFF; border: 1 solid #6699FF;HEIGHT: 20px;PADDING-BOTTOM: 1px;PADDING-TOP: 1px;WIDTH: 100px" onClick="javascript:window.location='DownloadFile.jsp?FileName=<%=Filename%>&&Path=<%=Path%>'">//----------------这个是要实现下载的页DownFile.jsp------------------------------//<%@page contentType="text/html;charset=gb2312"%><%@page import="java.io.*"%><jsp:useBean id="str" scope="page" class="getStr.getStr"/><%String Filename = request.getParameter("FileName");//接收传过来的文件名if(Filename==null){Filename = "";}else{Filename=str.getStr(Filename);}String Path = request.getParameter("Path");//接收传过来的文件对应的文件夹File file = new File(request.getRealPath("/")+"MsgPerson/"+Path+"/"+Filename);out.print(file); if(!file.exists()) out.println("文件不存在,请联系系统管理员!"); else{ // 设置响应头和下载保存的文件名 response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "attachment; filename=\"" + Filename+ "\""); // 打开指定文件的流信息 java.io.FileInputStream fileInputStream = new java.io.FileInputStream(file); // 写出流信息 int totalRead = 0; int readBytes = 0; long fileLen = file.length(); byte b[] = new byte[65000];//设置缓存大小 response.resetBuffer(); while((long)totalRead < fileLen) { readBytes = fileInputStream.read(b); totalRead += readBytes; response.getOutputStream().write(b, 0, readBytes); } fileInputStream.close(); }%> 下载的文件路径为你的jsp显示路径加上你的文件路径 java里面有没有long double类型或者比double更精度的? ajax,jquery,回调函数如何接收返回值? hibernate 关联查询方面的问题。 上传文件的输入框问题(急...在线等!) 时间(毫秒数)转换 jsp和java的classpath设置问题! 关于tomcat下面显示jpg图片的问题 http://www.jspsmart.com/的jspSmartUpload使用求助! 招聘!(急!!!) 有比tomcat更好的发布JSP的工具吗? 如何在一个Cookie中存入多个字段值?----100分紧急求助 散分. 對javamail 感興趣的請進來簽到領分.
的格式时一试
的格式时一试
请看如下:
//----------------提供连接页----------------------------//
<input type=button name=saveAs value="附件打开/另存" style="background-color: #BBDCFF; border: 1 solid #6699FF;HEIGHT: 20px;PADDING-BOTTOM: 1px;PADDING-TOP: 1px;WIDTH: 100px" onClick="javascript:window.location='DownloadFile.jsp?FileName=<%=Filename%>&&Path=<%=Path%>'">//----------------这个是要实现下载的页DownFile.jsp------------------------------//
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.io.*"%>
<jsp:useBean id="str" scope="page" class="getStr.getStr"/>
<%
String Filename = request.getParameter("FileName");//接收传过来的文件名
if(Filename==null){Filename = "";}
else{Filename=str.getStr(Filename);}
String Path = request.getParameter("Path");//接收传过来的文件对应的文件夹File file = new File(request.getRealPath("/")+"MsgPerson/"+Path+"/"+Filename);
out.print(file);
if(!file.exists())
out.println("文件不存在,请联系系统管理员!");
else{
// 设置响应头和下载保存的文件名
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\"" + Filename+ "\"");
// 打开指定文件的流信息
java.io.FileInputStream fileInputStream = new java.io.FileInputStream(file);
// 写出流信息
int totalRead = 0;
int readBytes = 0;
long fileLen = file.length();
byte b[] = new byte[65000];//设置缓存大小
response.resetBuffer();
while((long)totalRead < fileLen)
{
readBytes = fileInputStream.read(b);
totalRead += readBytes;
response.getOutputStream().write(b, 0, readBytes);
}
fileInputStream.close();
}
%>