gpt4 book ai didi

scala - 如何构建客户端直接文件上传到 Play Framework (Scala)

转载 作者:行者123 更新时间:2023-11-30 10:15:35 25 4
gpt4 key购买 nike

鉴于其文档中的 Play Framework 示例代码,此处 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,但显然我真正需要了解的是客户端协议(protocol))。

最佳答案

客户端协议(protocol)是 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 question或者这个gist可以提供帮助。

关于scala - 如何构建客户端直接文件上传到 Play Framework (Scala),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com