in HTML, un modulo con i dati multipart:Come ottenere il file di caricamento con altri input in play2?
<form action="@routes.Files.upload" method="post" enctype="multipart/form-data">
<input type="hidden" name="groupId" value="1" />
<input type="hidden" name="tagId" value="2" />
<input type="file" name="file"/>
<input type="submit" value="upload it"/>
</form>
Come scrivere l'azione Files upload
?
so come ottenere un file caricato:
request.body.file("file") map {
filepart => filepart.ref.moveTo(newFile);
}
e come input per essere presentate:
Form(tuple("groupId" -> text, "tagId" -> text)).bindFromRequest.fold(
errors => ...,
params => ....
)
Ma come combinarli insieme?
Non trovo un tipo adatto per file
può essere utilizzato in Form(tuple(...))
e né un modo per ottenere il valore di input in request.body
.
Che cosa succede se si desidera memorizzare la posizione del file nel modello? Altrimenti, come saprai dove si trova il file dopo averlo elaborato? Immagino che mi manchi quello che è la "API di caricamento file": http://commons.apache.org/proper/commons-fileupload/using.html? –
@SkylarSaveland: questo codice consente solo di ottenere i dati del modulo e il file. Una volta ottenuto il file (il file di risorse nel mio esempio), puoi spostarlo ovunque desideri archiviarlo e aggiornare il tuo modello con la posizione e il nome file. – JBCP