繁体   English   中英

如何将客户端直接文件上传到Play Framework(Scala)

[英]How to build the client side direct file upload to Play Framework (Scala)

根据他们文档中的Play框架示例代码,请访问https://www.playframework.com/documentation/2.3.x/ScalaFileUpload

def upload = Action(parse.temporaryFile) { request =>
  request.body.moveTo(new File("/tmp/picture/uploaded"))
  Ok("File uploaded")
}

我将如何在客户端实现呢? 到目前为止,我们一直在做的是分段文件上传,并将数据模型作为JSON请求处理,然后通过分段二进制流进行处理。 这有点复杂,我想简化一下。

因此,当我偶然发现以上内容时,它看起来很棒。 但是,我不知道该连接的“另一面”会是什么样。

(仅供参考,我们的客户端是iOS和Swift,但是显然我真正需要了解的是客户端协议)。

客户端协议是HTTP POST,因为文档使用HTML表单向我们显示。

例如,请求可能如下所示:

POST http://localhost:9000/api/upload HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------41184676334
Content-Length: 29278

-----------------------------41184676334
Content-Disposition: form-data; name="file2"; filename="picture.jpg"
Content-Type: image/jpeg

(Binary data)
-----------------------------41184676334--

因此,您将不得不在Swift中构造一个POST请求。 也许这个stackoverflow问题要点可以提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM