【问题标题】:Scala Spray. Output text as file斯卡拉喷雾。将文本输出为文件
【发布时间】:2015-12-10 09:50:23
【问题描述】:

我在数据库中有一些文本数据,我想将这些数据按文件输出给用户。我怎样才能做到这一点?现在我这样做: 1. 创建 tmp 文件。 2. 将数据写入文件。 3. 使用 getFromFile() spray 的方法提供此文件。 没有 1 步和 2 步就可以做到这一点吗?

【问题讨论】:

  • 你可以做类似这样的事情:stackoverflow.com/questions/22827029/…。而不是创建一个文件,只需一个字节数组并发回块。也许有更简单的东西,但我不知道。
  • 谢谢 Alexsey 有点太复杂了,我希望有更简单的方法。至少我知道我不是唯一一个不喜欢在 HDD xD 上创建临时文件的人

标签: scala file http spray


【解决方案1】:

你可以这样做:

respondWithMediaType("text/plain") {
      respondWithHeader(HttpHeaders.`Content-Disposition`.apply("attachment", Map("filename" -> ("text.txt")))) {
        implicit val bufferMarshaller = BasicMarshallers.byteArrayMarshaller("text/plain")
        autoChunk(ChunkSizeMagnet.fromChunkSize(5000000)) {
          withRangeSupport() {
            complete("file content".getBytes)
          }
        }
      }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多