Scala Play 2.0.2多文件上传
发布时间:2020-12-16 18:48:35 所属栏目:安全 来源:网络整理
导读:我是Play和 scala的新手.我的要求是提供一个浏览按钮,我们可以选择多个文件并上传这些文件.这是我写的代码: 在scala.html文件中: input type="file" name="files" multiple="multiple" id="files" size="30" 在控制器中: def upload = Action(parse.multi
我是Play和
scala的新手.我的要求是提供一个浏览按钮,我们可以选择多个文件并上传这些文件.这是我写的代码:
在scala.html文件中: <input type="file" name="files" multiple="multiple" id="files" size="30"> 在控制器中: 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"> 在你的控制器中你想尝试这样的东西(对于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中相似 干杯 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |