我目前正在使用Play Framework
(使用控制器)进行一个项目,并且在单击按钮并从控制器获取信息后Java
,我试图强制浏览器下载.txt
和文件。.xls
虽然我正确地形成了两种类型的文件,但我还没有找到强制下载的方法。
经过数小时的深入调查,我设法Javascript
通过JavascriptRoutes
and调用了控制器Ajax
,但我无法强制下载它,尽管我可以将.txt
内容放在一个 div 中(正确加载)。
这就是我现在所拥有的:
function exportText(){
jsRoutes.controllers.User.generateText().ajax({
success: function(data) {
$('#testDiv').html(data);
},
error: function() {
alert("Error!")
}
})
}
(单击按钮时调用exportText() )
public static Result generateText() {
response().setContentType("application/x-download");
response().setHeader("Content-disposition","attachment; filename=test.txt");
return ok(generateTXT("test.txt"));
}
(generateTXT(String)检索File
文件)
任何帮助都会非常感激!谢谢!
编辑
javascriptRoutes方法如下所示:
public static Result javascriptRoutes() {
response().setContentType("text/javascript");
return ok(
Routes.javascriptRouter("jsRoutes",
// Routes
controllers.routes.javascript.User.generateText()
)
);
}