gpt4 book ai didi

spray - 如何从 spray.io 服务 Array[Byte]

转载 作者:行者123 更新时间:2023-12-01 11:40:28 26 4
gpt4 key购买 nike

我在我的喷雾 jar 服务器中使用以下路径(使用喷雾 1.2):

path("my"/"path"){
get{
complete{
val buf:Array[Byte] = functionReturningArrayofByte()
println(buf.length)
buf
}
}
}

缓冲区的长度(以及上面代码打印的内容)是 2,263,503 字节。但是,当从 Web 浏览器访问 my/path 时,它会下载一个 10,528,063 字节长的文件。

我认为 spray 将内容类型设置为 application/octet-stream,并在使用 Array[Byte] 完成时自动设置内容长度。我没有意识到我可能做错了什么。

编辑

我进行了一个小测试,发现字节数组作为字符串输出。因此,例如,如果我有两个字节,例如 0xFF 和 0x01,则输出将是字符串 [ 255, 1 ],而不仅仅是这两个字节。我只是不知道如何让它输出原始内容而不是它的字符串表示形式。

最佳答案

buf 包装为 HttpData 解决了这个问题:

path("my"/"path"){
get{
complete{
val buf:Array[Byte] = functionReturningArrayofByte()
HttpData(buf)
}
}
}

关于spray - 如何从 spray.io 服务 Array[Byte],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21365033/

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