Мне еще предстоит разобрать данные составной формы, но сохранение изображения оказалось простым (если вы знаете, как). Чтобы проверить, я загружаю только изображение во время тестирования, используя:
curl -T "image.jpg" http://127.0.0.1:8080/imageupload
Я использую Finagle, который зависит от библиотек netty, поэтому request.content () возвращает объект типа org.jboss.netty.buffer.ChannelBuffer, для которого вы извлекаете данные изображения следующим образом:
Чтобы сохранить файл из содержимого запроса в файл:
val raf = new java.io.RandomAccessFile("image.jpg", "rw");
val buf = request.getContent();
val fChannel = raf.getChannel();
fChannel.write( buf.toByteBuffer() );
raf.close();
fChannel.close();
На передача содержимого запроса на веб-службу, ожидающую base64binary:
import org.jboss.netty.util.CharsetUtil._
import org.jboss.netty.handler.codec.base64.Base64
val base64binaryImage = (Base64.encode(request.getContent())).toString(UTF_8)