我正在使用 Play.WS 发出 http 请求。我的目标是发送带有大文件的 put 请求。
val requestHolder = WS.url("http://" + host)
requestHolder.put(???)
我不知道 ??? 的类型是什么流 body 。 requestHolder 有一个 put(File file) 方法 - 我无法使用它,因为我没有文件 - 和 put[T](T body) ,其中 T 可以是任何东西,只要你有一个 Writable[ 的实例T]。
有一些默认的可写对象是为 json、text、xml 等定义的,但不是为 InputStream 等定义的。
文档提供了处理大型响应的(简短)提示,但没有提供有关大型请求的信息(http://www.playframework.com/documentation/2.2.x/ScalaWS)
有人知道如何定义一个接受输入流的可写对象吗?或者也许是一个 Iteratee?
最佳答案
WS underlying client takes InputStream
。像这样访问它:
import com.ning.http.client.AsyncHttpClient
val client:AsyncHttpClient = WS.client
关于scala - Play WS (2.2.1) : post/put large request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19909133/