ajax 如何实现文件下载

yxhshuaiman 2012-05-15 12:46:07
ajax 如何实现文件下载 点下按钮就下载了 不要到另一个窗口去下载

文章和代码都可以
...全文
420 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
001007009 2012-05-16
  • 打赏
  • 举报
回复
直接一个a标签,href是下载文件的路径 就ok

a-shitou 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
直接一个a标签,href是下载文件的路径 就ok
[/Quote]
这种在html行。。。一般不用。。。

D_attachment att = new D_attachment();
DaoIn in = new DaoIn();
att.setAttachment_types(typeid);
att.setItem_id(itemid);
in.setData(att);

DaoOut out = DaoController.execute(D_attachmentS02Dao.class, in);
F_upload_file filedb = new F_upload_file();
filedb = (F_upload_file) out.getData();
//下载
String filePath = filedb.getFile_url();
String filetype = filePath.substring(filePath.lastIndexOf('.'));
String msg = "";
if(filePath != null && !"".equals(filePath))
{
String path = getServlet().getServletContext().getRealPath("")+filePath;//找到文件
response.addHeader("Content-Disposition", "attachment; filename="+new String((filename+filetype).getBytes("gb2312"), "ISO8859-1"));
response.setContentType("application/octet-stream");

ServletOutputStream output = response.getOutputStream();
InputStream fis = null;
byte[] buffer = new byte[1204];
int byteRead;
try
{
fis = new FileInputStream(path);
while ((byteRead = fis.read(buffer)) != -1)
{
output.write(buffer, 0, byteRead);
}
output.flush();
}
catch (Exception e)
{
String simplename = e.getClass().getSimpleName();
if(!"ClientAbortException".equals(simplename)) // 忽略用户点击下载取消按钮时的警告异常
{
response.setContentType("text/html; charset=utf-8");
response.setHeader("Content-disposition", "inline");
output.println(" <HTML> <BODY> <P>");
output.println("文件下载发生错误!");
output.println(" </P> </BODY> </HTML>");
output.close();
}
}
finally
{
if (fis != null)
{
fis.close();
}
}

}
else
{
msg = "找不到文件,该资料可能未上传";
}
response.getWriter().write(msg);
response.getWriter().flush();
response.getWriter().close();
return null;

直接请求action,action里面大概这样写就行,你看着改改
tom_66 2012-05-15
  • 打赏
  • 举报
回复
一般情况下的下载也不需要跳到另一个窗口下载啊。
你会实现下载么?如果会,那你会ajax么?两个都会了不就ok了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧