gpt4 book ai didi

Scala Play 2.0.2 多文件上传

转载 作者:行者123 更新时间:2023-12-04 15:24:59 25 4
gpt4 key购买 nike

我是 Play 和 Scala 的新手。我的要求是提供一个浏览按钮,我们可以在其中选择多个文件并上传这些文件。这是我写的代码:

在 scala.html 文件中:

<input type="file" name="files" multiple="multiple" id="files" size="30">

在 Controller 中:
def upload = Action(parse.multipartFormData) { request =>
request.body.file("files").map { picture =>
import java.io.File
val filename = picture.filename
val contentType = picture.contentType
picture.ref.moveTo(new File("/tmp/picture"))
Ok("File uploaded")
}.getOrElse {
Redirect(routes.Application.index).flashing(
"error" -> "Missing file"
)
}
}

但我无法上传多个文件。知道这里有什么问题吗?

最佳答案

首先你不需要

="multiple"

这等效
<input type="file" name="files" multiple id="files" size="30">

要加载多个文件,在定义表单时必须具有该属性
enctype="multipart/form-data"

例如,如果使用助手
@helper.form(action = routes.MyController.submit(), 'enctype -> "multipart/form-data", 'id -> "myform")

或者如果你不是
<form action=... enctype="multipart/form-data" id="myform">

在您的 Controller 中,您想尝试这样的操作(对于 Java,我确定它在 Scala 中类似)
//Get all files bound to the form when submitted 
List<FilePart> plate_files = request().body().asMultipartFormData().getFiles();
//Get files from a specific name or id
FilePart myfile = request().body().asMultipartFormData().getFile("files");

然后你可以使用这些迭代 FilePart 对象

希望它在scala中类似

干杯

关于Scala Play 2.0.2 多文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309765/

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