我有一个已经有FilePart [TemporaryFile]的方法,我将调用另一个方法来发送多部分表单数据。这个方法使用scala play 2.4.X,我必须使用下面的ning方法发送它:
def sendFile(file: FilePart[TemporaryFile]): Option[Future[Unit]] = {
val asyncHttpClient:AsyncHttpClient = WS.client.underlying
val postBuilder = asyncHttpClient.preparePost(s"${config.ocrProvider.host}")
val multiPartPost = postBuilder
.addBodyPart(new StringPart("access_token",s"${config.ocrProvider.accessToken}"))
.addBodyPart(new StringPart("typename",s"${config.ocrProvider.typeName}"))
.addBodyPart(new StringPart("action",s"${config.ocrProvider.actionUpload}"))
.addBodyPart(new FilePart(**expects java.io.File not FilePart**)
}
如何利用此参数并发送为java.io.File?
答案 0 :(得分:0)
您需要将file: FilePart[TemporaryFile]
的内容写入磁盘,然后使用该文件构建新的多部分请求。您可以看到此示例Scala File Upload
val tempFile = new File("/tmp/some/path")
file.ref.moveTo(tempFile)
val filePart = new FilePart(tempFile)