使用jspsmart里面的downloadFile为什么不能下载小于1K的文件? getOutputStream() 是你这个方法已经被调用过了啊,你把代码贴出来看下吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%@page language="Java" %><%@page contentType="text/html;charset=GB2312" %><%@page import="java.util.*"%><%@page import="java.sql.*"%><%@page import="historydata.*"%><%@page import="com.jspsmart.upload.*"%><jsp:useBean id="Query" scope="page" class="historydata.Query"/><jsp:useBean id="User" scope="session" class="historydata.User"/><jsp:useBean id="Organ" scope="session" class="historydata.Organ"/><%@include file='../user/isLogin.jsp'%><%String inCity_ID = request.getParameter("City_ID").trim();String inRptDate = request.getParameter("RptDate").trim();String inRpt_ID = request.getParameter("Rpt_ID").trim();String rptDate = ""; //报表日期String rpt_url = ""; //报表路径String rpt_url1 = ""; //报表路径if (inRpt_ID.equals("221") || inRpt_ID.equals("222") || inRpt_ID.equals("223")){ rptDate = inRptDate;}else if (inRpt_ID.equals("226") || inRpt_ID.equals("232") || inRpt_ID.equals("233")){ rptDate = Query.getLastdayOfMonth(inRptDate.substring(0,4),inRptDate.substring(4,6));}rpt_url = "/rptFiles/"+inCity_ID+"/"+rptDate+"/CLR"+inRpt_ID+".rpt";rpt_url1 = "c:/tomcat4.03/webapps/hd/rptFiles/"+inCity_ID+"/"+rptDate+"/CLR"+inRpt_ID+".rpt";System.out.println("rptDate=="+rptDate);System.out.println("rpt_url1=="+rpt_url1);try{// 新建一个SmartUpload对象SmartUpload su = new SmartUpload();// 初始化su.initialize(pageContext);su.setContentDisposition(null);java.io.File dir = new java.io.File(rpt_url1);if (dir.exists()){ // 下载文件 System.out.println("rpt_url=="+rpt_url); su.downloadFile(rpt_url); System.out.println("download success!");}else{%> <script language=javascript> alert("没有符合的报表文件!"); window.history.back(); </script><%}dir = null;}catch(Exception e){ e.printStackTrace();}%> 你下载了文件之后就没有再采取清除对象的措施了,看看API文档里有没有把strea对象关闭的方法,比如说outputStream.close()之类的方法啊 http://community.csdn.net/Expert/topic/3016/3016712.xml?temp=.4753534 解决了,在前面加上java.io.FileOutputStream fin = new java.io.FileOutputStream(dir);最后fin.flush(); spring动态切换数据源的问题 严重: Servlet.service() for servlet jsp threw exception 使用outlook发送本页 axis问题 Set<T>集合中只想提取出前6条记录 在线等!! 菜鸟问题。希望高手解决一下。在线等。 布署JavaBean的一个疑点 图片合成技术 欢迎加入这个QQ群:2142208,让我们来探讨JAVA方面的知识!! 用servlet提交数据只能提交英文,为什么? 分页程序,错误结果的原因!!! 帮我成功上传到指定空间,重重奖赏!急
<%@page contentType="text/html;charset=GB2312" %>
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<%@page import="historydata.*"%>
<%@page import="com.jspsmart.upload.*"%>
<jsp:useBean id="Query" scope="page" class="historydata.Query"/>
<jsp:useBean id="User" scope="session" class="historydata.User"/>
<jsp:useBean id="Organ" scope="session" class="historydata.Organ"/>
<%@include file='../user/isLogin.jsp'%>
<%
String inCity_ID = request.getParameter("City_ID").trim();
String inRptDate = request.getParameter("RptDate").trim();
String inRpt_ID = request.getParameter("Rpt_ID").trim();
String rptDate = ""; //报表日期
String rpt_url = ""; //报表路径
String rpt_url1 = ""; //报表路径if (inRpt_ID.equals("221") || inRpt_ID.equals("222") || inRpt_ID.equals("223")){
rptDate = inRptDate;
}else if (inRpt_ID.equals("226") || inRpt_ID.equals("232") || inRpt_ID.equals("233")){
rptDate = Query.getLastdayOfMonth(inRptDate.substring(0,4),inRptDate.substring(4,6));
}rpt_url = "/rptFiles/"+inCity_ID+"/"+rptDate+"/CLR"+inRpt_ID+".rpt";
rpt_url1 = "c:/tomcat4.03/webapps/hd/rptFiles/"+inCity_ID+"/"+rptDate+"/CLR"+inRpt_ID+".rpt";
System.out.println("rptDate=="+rptDate);
System.out.println("rpt_url1=="+rpt_url1);try{
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
su.setContentDisposition(null);
java.io.File dir = new java.io.File(rpt_url1);
if (dir.exists()){
// 下载文件
System.out.println("rpt_url=="+rpt_url);
su.downloadFile(rpt_url);
System.out.println("download success!");
}else{
%>
<script language=javascript>
alert("没有符合的报表文件!");
window.history.back();
</script>
<%
}
dir = null;
}catch(Exception e){
e.printStackTrace();
}
%>
java.io.FileOutputStream fin = new java.io.FileOutputStream(dir);最后
fin.flush();