Этот ответ для Java, но вы должны иметь возможность довольно легко адаптировать его к Scala.
Вам нужно определить модель для всех полей в вашей форме , за исключением файл.Затем используйте API загрузки файла как обычно для извлечения файла.
Например, вот что я сделал:
Форма (в upload.scala.html):
@form(action = routes.UploadResourceController.doUpload(), 'enctype -> "multipart/form-data") {
@inputText(uploadForm("lang"))
@inputText(uploadForm("country"))
@inputFile(uploadForm("resourceFile"))
<p>
<input type="submit">
</p>
}
Модель (models / UploadResource.java):
public class UploadResource {
@Required
public String lang;
@Required
public String country;
/* notice a field for the file is missing */
}
Контроллер (контроллеры / UploadResourceController.java)):
public static Result doUpload() {
Form<UploadResource> filledForm = uploadForm.bindFromRequest();
if (filledForm.hasErrors()) {
return badRequest(views.html.upload.render(filledForm));
} else {
UploadResource resource = filledForm.get();
MultipartFormData body = request().body().asMultipartFormData();
FilePart resourceFile = body.getFile("resourceFile");
/* Check resourceFile for null, then extract the File object and process it */
}
}
Надеюсь, это поможет.