gpt4 book ai didi

Scala Play 框架发送文件

转载 作者:行者123 更新时间:2023-12-03 22:46:43 24 4
gpt4 key购买 nike

我有一个数据字符串,它是从数据库中的数据中获取的。我想将它发送给用户,但不创建文件的本地副本,例如

Ok(MyString).as("file/csv") 

但它不起作用。我该怎么做?

最佳答案

您可以使用 chunked 来做到这一点。与 Enumerator .我也用过 withHeaders指定 Result 的内容类型和处置到“附件”,以便客户端将其解释为要下载的文件(而不是在浏览器本身中打开)。

import play.api.libs.iteratee.Enumerator

val myString: String = ??? // the String you want to send as a file

Ok.chunked(Enumerator(myString.getBytes("UTF-8")).andThen(Enumerator.eof))
.withHeaders(
"Content-Type" -> "text/csv",
"Content-Disposition" -> "attachment; filename=mystring.csv"
)

这可能不会立即编译,具体取决于您从数据库中获取的类型。

想想看,这也应该有效(没有 Enumerator ):
 Ok(myString).withHeaders( /* headers from above */ )

关于Scala Play 框架发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com