Я использую следующий путь в моем распылении консервной сервер (с помощью спрей 1.2):Как служить Array [Byte] из spray.io
path("my"/"path"){
get{
complete{
val buf:Array[Byte] = functionReturningArrayofByte()
println(buf.length)
buf
}
}
}
Длина буфера (и то, что печатается код выше) составляет 2,263,503 байт. Однако при доступе к my/path
из веб-браузера он загружает файл длиной 10 528 063 байта.
Я думал, что распыление задает тип контента для приложения/октетного потока и длину содержимого, автоматически при заполнении Array[Byte]
. Я не понимаю, что я могу делать неправильно.
EDIT
Я запустить небольшой тест и увидел, что массив байт выводятся в виде строки. Так, например, если у меня было два байта, например 0xFF и 0x01, то вместо двух байтов вместо строки будет [ 255, 1 ]
. Я просто не знаю, как заставить его выводить исходное содержимое вместо строкового представления.
Спасибо большое за этот ответ! Оглядывался повсюду для него (включая документацию по распылению). Это решило это. – akauppi