package e4s.tutorial; import e4s.html.*; import e4s.html.input.extended.FILEUPLOAD; import e4s.html.input.extended.E4InputFieldName; import e4s.html.input.extended.E4ValidatorFileUpload; import e4s.servlet.E4ModuleImplementation; /** * Example on image uploading capabilities. * * Simply create a form containing an IMAGEFIELD element, a pickup mechanism * provides also uploading and selection of images. * * {@tutorial Example_FILEUPLOAD} */ public class Example_FILEUPLOAD extends E4ModuleImplementation { public static E4Method start = null; public static E4Method startA = null; public static E4Method startB = null; public static E4Method uploadA = null; public static E4Method uploadB = null; public void start(HTML html) { html.Message(E4Message.CAPTION,"File Upload Example"); html.P(); html.A(startA).print("Upload without validating example"); html.P(); html.A(startB).print("Upload and validating example"); } public void startA(HTML html) { html.Message(E4Message.CAPTION,"File Upload Example - no validation"); html.P(); FORM form = html.FORM(); form.setEncryptionType_Multidata(); form.setAction(uploadA); form.TEXTFIELD(new E4InputFieldName("DESCRIPTION"),"Description",30); form.P(); // whatever is the name of the source file, it will be stored on the server named // yourfile FILEUPLOAD f1 = form.FILEUPLOAD(new E4InputFieldName("FILE_1"),"File #1",30); f1.setServer_Name("yourfile.dat"); f1.setServer_Path("uploaded/"); form.P(); FILEUPLOAD f2 = form.FILEUPLOAD(new E4InputFieldName("FILE_2"),"File #2",30); f2.setServer_Path("uploaded/"); form.P(); FILEUPLOAD f3 = form.FILEUPLOAD(new E4InputFieldName("FILE_3"),"File #3",30); form.P(); form.FORM_Submit("Upload"); } public void uploadA(HTML html, E4CgiParams params) { html.Message(E4Message.INFO,"File upload completed or maybe errors"); params.toTable(html.TABLE()); } public FORM makeForm() { FORM form = new FORM("TESTFORM"); form.setEncryptionType_Multidata(); form.setAction(uploadB); form.TEXTFIELD(new E4InputFieldName("DESCRIPTION"),"Description",30); form.P(); // whatever is the name of the source file, it will be stored on the server named // yourfile. A validation routine is added, the input for this field is mandatory. // The filesize is limited to 10000 bytes FILEUPLOAD f1 = form.FILEUPLOAD(new E4InputFieldName("FILE_1"),"File #1",30); f1.setValidator(new E4ValidatorFileUpload(getServlet(),true)); f1.setServer_Name("yourfile.dat"); f1.setServer_Path("uploaded/"); f1.setMaxUploadSize(10000); f1.setExtensionsAllowed( new String[]{"gif","jpg","jpeg","png"} ); form.P(); FILEUPLOAD f2 = form.FILEUPLOAD(new E4InputFieldName("FILE_2"),"File #2",30); f2.setValidator(new E4ValidatorFileUpload(getServlet(),false)); f2.setServer_Path("uploaded/"); form.P(); FILEUPLOAD f3 = form.FILEUPLOAD(new E4InputFieldName("FILE_3"),"File #3",30); f3.setValidator(new E4ValidatorFileUpload(getServlet(),false)); form.P(); form.FORM_Submit("Upload"); return form; } public void startB(HTML html) { html.Message(E4Message.CAPTION,"File Upload Example - including validation"); html.P(); FORM form = makeForm(); html.addElement(form); } public void uploadB(HTML html, E4CgiParams params) throws Exception { FORM form = makeForm(); if (! form.validate(params,getServlet())) { // validation failed, put the form to the html context and display again html.addElement(form); } else { html.Message(E4Message.INFO,"File upload completed"); params.toTable(html.TABLE()); } } }