[Upload]
Upload 컴포넌트가 있어서 사용하면 된다.
버전이 올라가면서 리스너가 조금 변했는데 어렵진 않다.
private Upload upload ;
.
.
private void initFileUpload() {
upload = new Upload("Upload a file", new Upload.Receiver() {
@Override
public OutputStream receiveUpload(String filename, String mimeType) {
try {
FileSystemUtil util = new FileSystemUtil();
tempFile = File.createTempFile(filename, ".qs", new File("생성할 파일의 위치") ) ;
return new FileOutputStream(tempFile) ;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
});
/** 업로드가 끝난 후 발생되는 곳 **/
upload.addFinishedListener(new Upload.FinishedListener() {
@Override
public void uploadFinished(FinishedEvent event) {
try {
작업
}
} catch (Exception e) {
// TODO: handle exception
}finally{
importLayout.insertSuccess();
}
}
});
}
이렇게 한 뒤 upload 컴포넌트를 add 해주면 된다.
[Download]
private FileDownloader downloader ;
.
.
private Button downloadBtn() {
Button btn = new Button("Download");
FileResource resource = new FileResource(new File(다운로드할 파일 또는 outputStream));
downloader = new FileDownloader(resource);
downloader.extend(btn);
return btn;
}
* 버튼 없이 자동으로 다운로드 하게 하는 것!
private static final String MYKEY = "download";
.
.
.
private void export(String filePath){
FileResource resource = new FileResource(new File(filePath));
setResource(MYKEY, resource);
ResourceReference rr = ResourceReference.create(resource, this, MYKEY);
Page.getCurrent().open(rr.getURL(), null);
}
댓글 없음:
댓글 쓰기