很急的问题,应该比较简单,大伙进来帮忙一下吧,关于页面下载的问题

yangyanghui 2004-09-10 10:02:53
我能否直接在web页上下载.chm文件?
我试过不行,如果可以的话,代码如何写呢

我把它打包成rar文件 ,
代码如下:
<a href="download/jfwxdll.rar">下载</a>
也不能下载
...全文
88 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yangyanghui 2004-09-11
我现在就是想让点击一链接,就可以直接下载
回复
yuqianloveme 2004-09-10
如果不压缩成一个包,也可以直接点击右键选择另为就行了。
回复
yangyanghui 2004-09-10
测试文件<test.jsp>:
<a href= 'mydownload.jsp?filename=测试.xls'>test</a>
--------------------------------------
下载文件<MyDownLoad.jsp>:
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<%@page import="java.net.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%!
//上传下载全攻略jspSmartUpload
//引用自http://www.jspcn.net/newsdetail.jsp?news_id=115
//以下是原文详注
/**
* 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.
* 纵横软件制作中心雨亦奇2003.08.01
* @param s 原文件名
* @return 重新编码后的文件名
*/

public static String getStr(String s){
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
%>
<%
String filename = "";
if (request.getParameter("filename") != null) {
filename = request.getParameter("filename");
}
response.reset(); //这行很重要!!!!!!!!
request.setCharacterEncoding("gb2312");
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename=\"" + getStr(filename) + "\"");

// 打开指定文件的流信息
java.io.FileInputStream fileInputStream = new java.io.FileInputStream(getServletContext().getRealPath("" + filename));

// 写出流信息
int i;
while ((i=fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
%>

以上这段代码我是在楼上提供的网址下的,但是我在JRUN下无法编译。
出现如下错误:

jrunx.compiler.DefaultCFE: Compiler errors:
Found 2 semantic errors compiling "C:/appserver/BSMHttp/default-ear/default-war/WEB-INF/jsp/jrun__mydownload2ejspf.java":

64. java.io.FileInputStream fileInputStream = new java.io.FileInputStream(getServletContext().getRealPath("" + filename));
<----------------->
*** Error: No method named "getServletContext" was found in type "jrun__mydownload2ejspf". However, there is an accessible method "getServletConfig" whose name closely matches the name "getServletContext".


106. b = Character.toString(c).getBytes("utf-8");
<------------------->
*** Error: No match was found for method "toString(char)".
回复
chendzcs 2004-09-10
http://community.csdn.net/Expert/topic/3342/3342599.xml?temp=.3594629
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-10 10:02
社区公告
暂无公告