Java 如何使此内容可用于“另存为”?

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

这是我在servlet中的代码:

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,它会提示您下载文件。