【问题标题】:Grails file download - client sideGrails 文件下载 - 客户端
【发布时间】:2013-06-26 04:35:38
【问题描述】:

我正在尝试使用 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
            }
        });

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

【问题讨论】:

    标签: ajax file grails download


    【解决方案1】:

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

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

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

    看看Igorthis的这篇帖子

    【讨论】:

    • 可以像这样传递图像变量吗?它只是一个字符串,但它是在我调用 ajax 之前在 javascript 中创建的?
    • 什么是图像变量?它的价值是什么?
    • 它是一个 xml 文件的字符串。 xml 是动态创建的,因此我对其进行了设置,以便用户单击下载时的任何状态都将被发送到服务器。
    猜你喜欢
    • 1970-01-01
    • 2014-07-05
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    • 2023-04-01
    • 2013-11-02
    • 2019-03-04
    相关资源
    最近更新 更多