2011-11-28 49 views
0

我的应用程序使用ExtJs作为前端和Spring MVC + Hibernate JPA作为后端。我需要下载一个文件。使用AJAX请求检索文档的URL。有一个“下载”按钮,当用户单击它时,应该有另存为的选项。使用extjs + spring下载文件

var body = Ext.getBody(); 
    var form = body.createChild({ 
    tag:'form' 
    ,cls:'x-hidden' 
    ,id:'form' 
    ,action:'document/download/'+selDocument.data.documentId 
    ,target:'iframe' 

     }); 
    form.dom.submit(); 

此代码现在适合我。唯一的问题是当我点击下载时页面被刷新。有什么办法可以避免这种情况?

回答

1

可能做那将是产卵的下载作为目标的URL的新窗口的快捷方式..

window.open(url);

浏览器将打开一个新窗口,显示下载对话框控制并关闭窗口。

+0

你打算说在服务器端没有什么可做的事情?没有阅读所需的文件?如果我只是使用文档路径开始下载,那么该文档应该已经保存在应用程序服务器的某个地方了? – spv

+0

问题是“唯一的问题是,当我点击下载时页面被刷新。有什么办法可以避免这种情况?”,答案是在新窗口中打开该URL,因此它不会重定向您的当前页面 – JamesHalsall