关于文件下载问题.判断文件是否存在后想弹出对话框且还是在该下载页面

BlueSuperMan 2006-02-25 07:27:55
现在我是用超连接实现下载的类似于
<a href=down.jsp?filename="文件名称"&filepath="文件路径">
下面是down.jsp.
if (file.exists()) {
String filename = URLEncoder.encode(file.getName(), enc);
response.reset();
response.setContentType(contentType);
response.addHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
int fileLength = (int) file.length();
response.setContentLength(fileLength);

if (fileLength != 0) {

InputStream inStream = new FileInputStream(file);
byte[] buf = new byte[4096];

ServletOutputStream servletOS = response.getOutputStream();
int readLength;
while (((readLength = inStream.read(buf)) != -1)) {
servletOS.write(buf, 0, readLength);
}
inStream.close();
servletOS.flush();
servletOS.close();
}
}
else{

//文件不存在则弹出对话框 提示文件已经不存在了
}
先判断文件是否存在如果存在能够正常的现实下载对话框.可是如果文件不存在则提示.该提示并不是在下载页面而是在down.jsp页面 点选弹出提示框后就是空白页面了?我想的是直接在下载页面弹出对话框,确定后还是在本页面.就像一个简单的页面的js验证一样
如何做到?
...全文
236 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
BlueSuperMan 2006-02-28
UP
回复
RedSunMan 2006-02-28
好像是没有好的办法解决.等待高手
回复
BlueSuperMan 2006-02-26
我的意思是有很多的页面. 而页面上面有很多控件.这个样子是不行的.案子现在要交了.不可能有大的改动,只能在down.jsp上面动脑筋啊.唉..
有没有改动最小的方法吗
回复
BlueSuperMan 2006-02-26
我知道不难 可是页面有很多地方 每个都要设置会很麻烦.
我在想有没有其他的好办法呢.
回复
doway 2006-02-26
是要调整的。不难的。:)

回复
BlueSuperMan 2006-02-26
恩,这个样子不是要改jsp了?

我现在的jsp类似于下面
<%
//从servlet中获取值,所有的值均存放在dataAREA中
Hashtable dataAREA = (Hashtable)request.getAttribute("dataAREA");
%>

<input type="text" id="_txtUid" name="_txtUid" size="9" maxlength="10" value="<%=dataAREA.get("_txtUid2")%>"
回复
doway 2006-02-25
转发,不是重定向。

request.getRequestedDispatcher("/xxx.jsp").forward(request, response);
回复
BlueSuperMan 2006-02-25
是重定向到原来的页面吗? 那么原来页面已经存在的数据不就没有了?
回复
doway 2006-02-25
else{
//文件不存在则弹出对话框 提示文件已经不存在了
转发到原来的 JSP 页面,转发前设置好相应的错误信息
}

原来的页面稍稍修改,以便显示错误信息。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-02-25 07:27
社区公告
暂无公告