Java 如何使此内容可用于“另存为”?
这是我在servlet中的代码:Java 如何使此内容可用于“另存为”?,java,ajax,servlets,Java,Ajax,Servlets,这是我在servlet中的代码: private void createLog(HttpServletResponse response) throws IOException { response.setContentType("text/plain"); response.setHeader("Content-Disposition", "attachment;filename=file.txt"); String s
private void createLog(HttpServletResponse response) throws IOException {
response.setContentType("text/plain");
response.setHeader("Content-Disposition", "attachment;filename=file.txt");
String s = "Hello world";
InputStream input = new ByteArrayInputStream(s.getBytes("UTF8"));
int read = 0;
byte[] bytes = new byte[1024];
OutputStream os = response.getOutputStream();
while ((read = input.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
os.flush();
os.close();
}
这是我的ajax调用
$("#test").click(function(){
$.ajax({
type: 'POST',
url: 'myServlet',
data: { request : "createLog" }
})
.success(function(response) {
console.log("all good");
})
.error(function(response){
})
.done(function(){
});
});
所以我得到了文件的内容,但只在浏览器的响应中。我希望能够下载此文件,以便将其保存在我的计算机上。
我错过了什么
谢谢你的帮助 您不能通过ajax触发文件下载。您不能通过ajaxOkai触发文件下载。那么,如果没有它,我如何才能做到这一点呢?只需使用一个链接,然后确保href`中的URL有触发文件下载的servlet参与。或者,如果使用HTML5,它会提示您下载文件。