Ваша текущая версия просто записывает байты (я предполагаю, request.getContent().array()
- это массив байтов) в виде разделенных пробелом целых чисел base-10:
scala> val bytes = 1 to 10 map(_.toByte) toArray
bytes: Array[Byte] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
scala> <FileContents>{bytes}</FileContents>
res0: scala.xml.Elem = <FileContents>1 2 3 4 5 6 7 8 9 10</FileContents>
Это определенно не то, что вы хотите. Вы можете использовать библиотеку, такую как Кодек Apache Commons , чтобы закодировать массив байтов в виде строки (здесь я использую кодировщик Base64
):
scala> import org.apache.commons.codec.binary.Base64
import org.apache.commons.codec.binary.Base64
scala> <FileContents>{Base64.encodeBase64String(bytes)}</FileContents>
res1: scala.xml.Elem = <FileContents>AQIDBAUGBwgJCg==</FileContents>
Возможно, вам придется немного поработать с опциями, но это, скорее всего, то, что вам нужно.