马大头
2017-08-18 08:33
采纳率: 59.1%
浏览 6.9k

Java下载文件时如何给前台返回一个值?

前台是用html写的不是jsp, 用poi生成excel直接通过流写回浏览器来下载
想到使用ajax,但是ajax是不支持文件下载的,但是用其他的方法如何在下载文件的代码
执行完毕以后给前台返回一个状态码来通知下载完成?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 二三三 2017-08-18 09:10

    直接下载的话,前台浏览器不是会出现下载界面的

    评论
    解决 无用
    打赏 举报
  • 我是你一一哥 2017-08-18 10:05

    ajaxfileupload.js,这东西你看满足你的吗

    评论
    解决 无用
    打赏 举报
  • 砸死接触 2017-08-18 11:03

    用window.open() 或 window.location.href()不能实现吗? 感觉可以的呀 ,点击下载 就一如一个js方法 方法里就用这俩的其中一个,感觉可以的说。。。。但是应该不会返回其他值了!!!

    评论
    解决 无用
    打赏 举报
  • HPP19 2017-08-18 15:12

    浏览器上在下载选项里能看到下载成功的。
    或者在后台下载的方法里头抛个异常,下载成功的话向页面传个参数,在页面中对这个参数进行判断,给出下载成功还是失败。
    也可以用window.open();在点击下载的时候,触发一个事件,打开一个子/新窗口,进行下载,window.parent.opener.docment.getElementById(),用这个方法向父窗口传递一个参数,在父窗口中设置id接收传回来的参数进行判断,给出失败还是成功。

    评论
    解决 无用
    打赏 举报
  • HPP19 2017-08-25 10:27

    后台是用JAVA写的话,设置一个标识符,result = 1; try 抛出一个异常,在异常里将result的值改为0;在异常外面将result响应到页面。
    在页面 利用ajax接受这个result(就是在你向页面提交请求时有个回调函数),对result的值进行判断,再alert出响应的结果。

    评论
    解决 无用
    打赏 举报
  • 酷啦啦啦 2017-11-28 07:08
    评论
    解决 无用
    打赏 举报
  • shenzhuang_0807 2019-10-22 16:52

    你说的需求目前实现不了 别问了 我看其他人回答的特傻逼 尤其这个HPP19 都告诉他不能用ajax下载文件了 他他妈的还在说用ajax接口后台响应结果 服了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题