2008年10月16日 星期四

Wicket的FileUploadField元件

Wicket提供一個簡便的檔案上傳元件FileUploadField.

步驟一.建置一個FileUploadPageExamples.html

<html>
<body>
<form wicket:id="form">
<input type="file" wicket:id="files"/><br/>
<input type="submit"/>
</form>
</body>
</html>

步驟二.建置一個FileUploadPageExamples.java

package wicket.examples.html.body.form.file;

import java.io.IOException;

import wicket.markup.html.WebPage;
import wicket.markup.html.form.Form;
import wicket.markup.html.form.upload.FileUpload;
import wicket.markup.html.form.upload.FileUploadField;
import wicket.util.file.File;
import wicket.util.lang.Bytes;

public class FileUploadPageExamples extends WebPage {

public FileUploadPageExamples(){
super();
final FileUploadField cFileUpload = new FileUploadField("files");

Form cForm = new Form("form"){
protected void onSubmit(){
final FileUpload cUpload = cFileUpload.getFileUpload();
if (cUpload != null){
try{
cUpload.writeTo(new File("D:\\workspace\\WicketExamples\\files\\1.txt"));
}catch(IOException ie){
ie.printStackTrace();
}
}
super.onSubmit();
}
};

cForm.add(cFileUpload);
cForm.setMultiPart(true);
cForm.setMaxSize(Bytes.kilobytes(1000));
this.add(cForm);
}
}

步驟三.修改Examples.html & Examples.java

...
<tr>
<td><a wicket:id="Examples18">show FileUploadPageExamplesPage</a></td>
</tr>
...


...
add(new PageLink("Examples18",FileUploadPageExamples.class));
...

沒有留言: