scala - Play WS (2.2.1) : post/put large request

标签 scala playframework

我正在使用 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/

相关文章:

scala - Akka 和 Typesafe 配置版本问题

scala - 为什么在使用 List 时得到的结果与使用 Tuple 时得到的结果不同?

scala - SBT:如何定义包含特定路径中所有文件的 includeFilter?

scala - Akka Stream Source.queue 的背压策略不起作用

java - Play Framework - java.lang.RuntimeException : No main class detected

scala - 避免创建几乎相同的案例类

json - Scala Play框架中将json数组转换为模型类的Seq

java - PATCH 请求使用 Play Framework (java)

scala - 玩!框架表单/HTML 助手 : Separation of Concerns?

scala - "parameterized overloaded implicit methods are not visible as view bounds"编译器警告是什么意思?