weixin_42402472 2010-10-27 11:39
浏览 267
已采纳

struts文件下载 不显示保存框

这是我的action的代码:

[code="java"]HttpServletResponse response = ServletActionContext.getResponse();

     OutputStream out = null; 
     FileInputStream in = null; 

    try
    {
        response.setContentType("application/octet-stream;charset=UTF-8");
        String fileName = URLEncoder.encode(name, "UTF-8");
        response.addHeader("Content-Disposition","attachment;filename=" + fileName);

        out = response.getOutputStream(); 
        in = new FileInputStream("C:/TEMP/"+id+".chiron"); 
          byte[] b = new byte[in.available()]; 
          in.read(b);
          out.write(b);
          out.flush();

    } catch (Exception e)
    {
        System.out.println("Before e.printStackTrace");
        e.printStackTrace();
    }finally{
        if(out!=null)
            try
            {
                out.close();
            } catch (IOException e)
            {
                e.printStackTrace();
            }
    }[/code]

这是我的js里面的代码
[code="java"]var downId = record.data.id;
var downName = record.data.realName;
confirm('确定要下载:'+downId+'?');
Ext.Ajax.request({
url : 'fileDown.action',
params : {fileId : downId,fileName : downName},
success : function(){
Ext.Msg.alert('提示','文件下载成功');
},
failure : function(){
Ext.Msg.alert('提示','文件下载失败');
},
error : function(form, action) {
Ext.Msg.alert('错误', '文件下载过程中出现了\n不可预知的错误.');
}
});[/code]
返回的时候,没有出现保存的提示框。。。。
求高手。。求真相。。。

  • 写回答

2条回答 默认 最新

  • lizhiyezi 2010-10-27 13:59
    关注

    [code="java"]Ext.Ajax.request({
    url : 'fileDown.action',
    params : {
    fileId : downId,
    fileName : downName
    },
    form : Ext.DomHelper.append(Ext.getBody(), {
    tag : 'form',
    enctype : 'multipart/form-data'
    }),
    success : function() {
    Ext.Msg.alert('提示', '文件下载成功');
    },
    failure : function() {
    Ext.Msg.alert('提示', '文件下载失败');
    },
    error : function(form, action) {
    Ext.Msg.alert('错误', '文件下载过程中出现了\n不可预知的错误.');
    }
    });[/code]
    给个form属性就行了。不然你动态创建iframe 设置iframe scr 属性进行下载。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 CSS实现渐隐虚线框
  • ¥15 有没有帮写代码做实验仿真的
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题