2016-11-16 5 views
0

Ich versuche, Datei Upload-Handling in Play Framework-App zu bestehenden Formular mit Textfeld hinzufügen. According to documentation, Ich muss asMultipartFormData() oder asRaw Methode verwenden, jedoch kann es Text Eingabefelder nicht behandeln. Ist es möglich, einen Controller für Standard-HTML-Formular und Dateiverarbeitung gleichzeitig zu verwenden?play framework file upload

Antwort

1

Ja, es ist möglich, einfach nur Datei-und Texteingabe getrennt zu behandeln. Zum Beispiel:

public Result myControllerMethod(){ 
    ... 
    //handle input text here 
    Form<MyModel> myForm = formFactory.form(MyModel.class); 
    MyModel myModel = myForm.bindFromRequest().get(); 
    ... 
    //handle file 
    MultipartFormData<File> body = request().body().asMultipartFormData(); 
    ... 
} 
+0

Vielen Dank! Aber eigentlich werden es zwei Anfragen sein? Einmal für Formular, dann für Datei? – Kurirux

+0

Wenn die Dateieingabe Teil des gleichen Formulars ist (wie ich es verstehe) Nein, ist es eine Anfrage. Versuchen Sie es mit dem Debugger zu inspizieren, Sie sehen, dass der Body ein dataPart-Feld (mit einer HashMap mit allen textuellen Informationen) und ein Dateifeld enthält. – lbaggi