Sube un archivo AJAX-ically usando Wicket
-
22-07-2019 - |
Pregunta
Quiero subir un archivo con AJAX en Wicket. Me parece que Wicket no es compatible con esta función. ¿Es posible?
Solución
Consulte el código fuente de los ejemplos de Wicket para cargar: http: //www.wicketstuff .org / wicket13 / upload / single . Tiene ejemplos para las versiones estándar y ajax.
Otros consejos
Como una actualización de una pregunta anterior, parece que es posible en este momento:
http://www.wicket-library.com/wicket-examples/ ajax / upload
Este enfoque funciona para mí con una aplicación de wicket completa de Ajax. Lo sentimos, esta es la sintaxis de Scala, pero debería transferirse fácilmente a la sintaxis de Java:
import java.io.File
import org.apache.wicket.markup.html.form.upload.FileUploadField
import org.apache.wicket.markup.html.form.Form
import org.apache.wicket.markup.html.WebPage
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink
import org.apache.wicket.ajax.AjaxRequestTarget
class TestPage extends WebPage {
val uploadForm = new Form("form")
val fileField = new FileUploadField("file")
uploadForm.add(fileField)
add(form)
add(new AjaxSubmitLink("submit", uploadForm) {
def onSubmit(target: AjaxRequestTarget, form: Form[_]) {
val upload = fileField.getFileUpload
if (upload != null) {
val file: File = upload.writeToTempFile
}
}
})
}
HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<form wicket:id="form">
<input wicket:id="file" type="file"/>
</form>
<button wicket:id="submit">Upload</button>
</body>
</html>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow