通过电子邮件附上csv邮件?

时间:2018-02-07 09:22:20

标签: csv email grails

目前我正在使用导出插件在服务器上动态创建csvfile,然后通过response.outputstream将其发送到浏览器(由导出插件完成)。相反,我想要它创建csv文件,一旦完成,通过电子邮件发送给user.looked到导出插件代码,它看起来像是写入响应输出流。如何从这个输出流中读取,创建一个文件,而不是将其存储到光盘而只是通过电子邮件发送它?

 def csv=responseArchive
            def csvDate=csv?.date
            def csvArchive=csv?.archive
            def csvReport=csv?.reporting
            def csvDelta=csv?.totals
            response.contentType = grailsApplication.config.grails.mime.types['csv']
            response.setHeader("Content-disposition", "attachment; filename=test.csv")
            List fields = ["date", "archive", "reporting", "totals"]
            Map labels = ["csvDate": "Date","csvArchive":"Archive","csvReport":"Reporting","csvDelta":"Totals"]
            // Formatter closure
            def upperCase = { domain, value ->
                return value.toUpperCase()
            }
            def title = { domain, value ->
                return domain?.date + ": "+domain?.archive+ ": " + domain?.reporting+ ": " + domain?.delta
            }
            String Csv="csv"
            Map formatters = [csv: upperCase]
            Map parameters = [title: "Report", "column.widths": [0.2, 0.3, 0.5]]
            exportService.export(Csv,response.outputStream, responseArchive, fields, labels, formatters, parameters)
    sendMail {
             multipart true
             to "test@gmail.com"
             body "Hello Watcher!"
             attachBytes "Some-File-Name.csv", "text/csv", contentOrder.getBytes("UTF-8")}

0 个答案:

没有答案