我正在使用Play.WS发出http请求。我的目标是发送带有大文件的put请求。
val requestHolder = WS.url("http://" + host)
requestHolder.put(???)
我不知道应该是什么类型的???流动身体。 requestHolder有一个put(文件文件)方法 - 我不能使用因为我没有文件 - 并且只要你有一个Writable实例就把[T](T体)放在T可以是任何东西[ T]。
为json,text,xml等定义了一些默认可写入。但是对于InputStream,例如非。
文档提供(简要)提示来处理大型响应,但没有关于大型请求(http://www.playframework.com/documentation/2.2.x/ScalaWS)
任何人都知道如何定义一个可以接受InputStream的可写文件?或者也许是一个Iteratee?
答案 0 :(得分:2)
WS underlying client takes InputStream
。像这样访问它:
import com.ning.http.client.AsyncHttpClient
val client:AsyncHttpClient = WS.client
答案 1 :(得分:1)
不幸的是,这还不支持。
这里有一点关于它的讨论:
https://github.com/playframework/playframework/pull/1510
我们希望对于Play 2.3,我们将有一个允许它的解决方案。