我通过执行命令行程序获得了一大堆二进制数据。这个blob可以由同一个程序解码。
我想在HTTP响应中发送这个二进制数据。为此,我使用"application/octet-stream"
mime-type(我也尝试过" text / plain")。但是当客户端在另一端获取数据时,它就不再可读了。格式已经发生了某种变化。
这是我的Scala代码(但我认为这是一个通用的问题):
val command = s"samtools view -h $testbam $region"
val res: String = command.!! // Gets the stdout as string
Result(
header = ResponseHeader(200, Map.empty),
body = HttpEntity.Strict(ByteString(res), Some("application/octet-stream"))
)
可以正确解码在命令行上运行的相同命令。但是" curl"的结果在这里,虽然它确实返回了一堆不可读的符号,但无法解码。
以可读(未压缩)的形式发送相同的数据可以正常运行而不会丢失内容或格式。
我错过了什么样的角色转换?要指定的任何编码?
编辑:播放2.5.0