1

我正在尝试使用 grails 下载文件。我在这个站点上遵循了一些解决方案,我认为文件正在从控制器正确传回。当我检查传回的数据时,我可以看到文件内容。

但是下载没有开始。我不确定客户端应该是什么。

我正在使用 jquery 调用此控制器操作。

File fd = new File(filename)
        response.setContentType("application/octet-stream")
        response.setHeader("Content-disposition", "attachment; filename= ${fd.getName()}")
        response.outputStream << fd.newInputStream()
        response.outputStream.flush()

这是 jquery 9 我需要将文件名作为参数传递:

    jQuery.ajax({
            url : "/dev/image/download",
            type : "GET",
            data : {
                image : imgData
            }
        });

我不确定从这里要走什么路。我看到的大多数示例仅涉及控制器方面。我不确定客户端应该如何配置。

4

1 回答 1

3

不要使用 AJAX 请求调用下载,而是创建一个指向它的链接。看看是否有帮助。

<g:link action="download" id="1" params="[...]">download</g:link>

您可以将参数传递到您的链接中,但是,如果您的参数是在您的 javascript 中创建的,您仍然可以发送它们,但方法不同。

看看Igor的这篇文章和这个

于 2013-06-28T12:35:10.547 回答