用JSP做了一个文件列表下载 点击下载没有反应 而另存就可以?不是IE问题 我TT试过 IE试过
解决方案 »
- JSP 编程的离奇错误!!!
- 对于Java继承的理解
- 进货单价和销售单价问题?
- 哪位有用过bugzilla测试工具???在线等~~~麻烦了哦
- 只给指点下思路就行
- 新建qq群:3491555(j2ee技术)欢迎各位加入讨论
- 如何在SERVLET内调用HTTP页面
- 一个随机的字符串你用什么办法判断是否是gbk编码的
- 如何得到客户端是否支持cookie等信息
- Struts2 的Cannot call sendError() after the response has been committed异常
- struts 1.3使用ActionMessages,在JSP页面中不能显示!急急急!!!
- struts2 标签s:datetimepicker
response.setContentType
都设置了吗
麻烦看看是什么问题,我的代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.io.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Insert title here</title>
</head>
<body>
<%
File myfile=new File("D:/upload/");
String[]FileNames=myfile.list();
%> <table width="600" border="1" align="center"cellpadding="0" cellspacing="0" bordercolorlight="#EBEBEB" bordercolordark="#FFFFFF">
<tr>
<td><div align="center">文件名</div></td>
<td><div align="center">下载 </div></td>
</tr>
<%for(int i=0;i<FileNames.length;i++)
{
%>
<tr>
<td><div align="center"><%=FileNames[i]%></div></td>
<td><div align="center"><A href="D:/upload/<%=FileNames[i]%>">下载</a></div></td>
</tr>
<%
}
%>
</table></body>
</html>
<A href="file://D:/upload/ <%=FileNames[i]%> ">
试试
但是用jspmartupload做的中文文件名是乱码!
真是的烦~!!!
// 更改打开方式
if(URLfileName!=null){
// 新建一个SmartUpload对象
SmartUpload sud = new SmartUpload();
// 初始化
javax.servlet.ServletConfig config=this.getServlet().getServletConfig();
sud.initialize(config,request,response);
sud.setContentDisposition(null);
////下载文件
try{
sud.downloadFile(URLfileName);
}catch(SmartUploadException e){
System.out.println(e.getMessage());
}
}
<mime-mapping>
<extension>rar</extension>
<mime-type>application/rar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>iso</extension>
<mime-type>application/iso</mime-type>
</mime-mapping>
<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>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
- 对变量 config 的赋值不生效
- 局部变量 config 重复
- 对变量 config 的赋值不生效
- 局部变量 config 重复
Multiple annotations found at this line:
- 没有为类型 __2F_zxnet_2F_zxnet_2F_admin_2F_download_2E_jsp 定义方法
getServlet()
- 对变量 config 的赋值不生效
另外这个是解决打开的时候乱码的问题。关于直接点击不能下载的解决方法是这样:
<a href="<%=downloadUrl%>" onclick="javascript:download()" class="Alink"><%=file_name%></a>
<%=downloadUrl%>是下载文件的相对路径,
而javascript:download()将会调用下面的方法,解决直接打开的问题!
public ActionForward chxxDownload(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)throws Exception{
String URLfileName=(String)request.getParameter("downloadPath");
// 更改打开方式
if(URLfileName!=null){
// 新建一个SmartUpload对象
SmartUpload sud = new SmartUpload();
// 初始化
javax.servlet.ServletConfig config=this.getServlet().getServletConfig();
sud.initialize(config,request,response);
//设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
sud.setContentDisposition(null);
////下载文件
try{
sud.downloadFile(URLfileName);
}catch(SmartUploadException e){
System.out.println(e.getMessage());
}
}
return null;
}
////////////////////////////////add by fengzhi end///