1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
webapp upload;
import System;
import HTMLDocument;
import Webapp;
// files uploaded to HTTP_KAYA_UPLOAD_DIR environment variable, or
// "." unless we set the location in webconfig() which you should do before
// actually using this code!
Void webconfig() {
allowFileUploads();
// setKayaUploadDir("/users/myaccount/tmp");
}
HTMLDocument webmain() {
enableDebugging();
doc = new(HTML4Strict,"File upload test");
appendExisting(doc.body,runHandler(@uploadForm));
return doc;
}
ElementTree uploadForm() {
div = anonymousBlock;
form = addLocalForm(div,true);
f1 = addFieldset(form,"Upload a file");
void(addTextInput(f1,InputText,"input1","",30));
void(addTextInput(f1,InputText,"input2","",30));
void(addTextInput(f1,InputText,"input2","",30));
void(addTextInput(f1,InputFile,"input3","",30));
void(addTextInput(f1,InputFile,"input3","",30));
void(addTextInput(f1,InputText,"input4","",30));
void(addTextInput(f1,InputFile,"input5","",30));
void(addTextInput(f1,InputText,"input6","",30));
void(addLocalControlInput(f1,"Submit",processUpload@(),1));
return form;
}
ElementTree processUpload(Int discard) {
div = anonymousBlock;
void(addParagraph(div,"I1: "+incomingValue("input1",DataPost)));
void(addParagraph(div,"I2: "+incomingData("input2",DataPost)[0]));
void(addParagraph(div,"I2: "+incomingData("input2",DataPost)[1]));
void(addParagraph(div,"I4: "+incomingValue("input4",DataPost)));
void(addParagraph(div,"I6: "+incomingValue("input6",DataPost)));
files = incomingFiles("input3");
push(files,incomingFile("input5"));
for file in files {
void(addParagraph(div,"File: "+originalName(file)+" is at "+tempPath(file)+" of type "+contentType(file)));
}
// and at this point you could copy them, read them into databases, etc.
return div;
}
|