有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将Scala FilePart转换为文件(Java)以用于多部件数据?

我有一个已经有FilePart[TemporaryFile]的方法,我将调用另一个方法来发送多部分表单数据。此方法使用scala play 2.4。X和我必须使用以下方法发送:

 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的形式发送。伊奥。文件


共 (1) 个答案

  1. # 1 楼答案

    您需要将file: FilePart[TemporaryFile]的内容写入磁盘,然后使用该文件构造新的多部分请求。你可以看到这个例子Scala File Upload

    val tempFile = new File("/tmp/some/path")
    file.ref.moveTo(tempFile)
    val filePart = new FilePart(tempFile)