2017-04-19 9 views
2

私はプレイするのが初めてで、配列[Byte]をユーザーにストリームしようとしています。私はPlay FrameWork/scala - 配列からのストリーミングされた応答を返す[Byte]

https://www.playframework.com/documentation/2.5.x/ScalaStream

で、この上のドキュメントを読んでてきたが、私はこれを実装する場合、それは廃止されましたチャンクと言うと、私はアッカとチャンクの代わりにソースをストリーミング使用する必要があること。

Expected: Source[NotInferredC, _], actual: Source 

このエラーを取得した後、私は別のソリューションを取得しようとしているより深い鳩、その後、ストリーミングエンティティを作ってみました:現在、私は、ファイルがアレイ[バイト]であるが、エラーがある

Ok.chunked(Source.fromBytes(file)) 

を持っています

Ok.sendEntity(HttpEntity.Streamed(Source.fromBytes(file), None, None)) 

と対応するエラーは、次のとおりです:どこ私は持っている

expected: Source[ByteString, _] actual: Source 

Array [Byte]を適切なフォーマットに変換してレスポンスでストリーミングするにはどうしたらいいですか?また、チャンクとsendEntityメソッドを選択するメリットは何ですか?ありがとうございました!

答えて

0
val file: Array[Byte] = ??? 
Ok.sendEntity(HttpEntity.Strict(ByteString(file), None)) 

Ok.sendEntityはRAMに十分なデータがある場合に使用してください。しかし、それが大きい場合は、ハードドライブに保存して、小さなピース(チャンク)で取り出して、Ok.chunkedというユーザーに送信する必要があります。

+0

ありがとうございました。 –

関連する問題