我正在试图弄清楚如何创建多部分表单数据请求 使用Akka HTTP(客户端API),但我找不到表达表单数据的方法。
有谁知道如何创建将采用文件或输入流的表单数据?
答案 0 :(得分:1)
我现在觉得有点晚了,但这个example有一个客户端和一个服务器。
我复制相关部分
def createEntity(file: File): Future[RequestEntity] = {
require(file.exists())
val formData =
Multipart.FormData(
Source.single(
Multipart.FormData.BodyPart(
"test",
HttpEntity(MediaTypes.`application/octet-stream`, file.length(), SynchronousFileSource(file, chunkSize = 100000)), // the chunk size here is currently critical for performance
Map("filename" -> file.getName))))
Marshal(formData).to[RequestEntity]
}
def createRequest(target: Uri, file: File): Future[HttpRequest] =
for {
e ← createEntity(file)
} yield HttpRequest(HttpMethods.POST, uri = target, entity = e)
答案 1 :(得分:0)
实现这一目标的最简单方法是:
<div id="catch_div">
<asp:Label ID="Label1" runat="server" Text="Label" CssClass="catchphrase">Feel the rythem</asp:Label>
</div>
在第一行,您还可以使用 val formData = Multipart.FormData.
fromFile("<FORM_DATA_KEY>",
MediaTypes.`application/octet-stream`,
file = file,
100000)
val httpRequest = HttpRequest(HttpMethods.POST, uri = target, entity = formData.toEntity)
来接受文件路径而不是文件对象本身。