我正在为我的应用程序使用JavaFX,并且正在使用JavaFX中的Task来上传文件。
public class Upload extends Task<UploadFile> {
private UploadFile uploadFile;
public Upload(UploadFile uploadFile){
this.uploadFile= uploadFile;
}
@Override
protected synchronized UploadFile call() throws Exception {
....
hcl.invokeMethodUploadFile(uploadFile);
return null;
}
}
方法“启动”创建一个UploadFile-Container并将其添加到Threadpoolexecutor的队列中。该方法将对每个文件执行一次。此类还包含其他和必要的信息,以在文件上传完成后继续进行。
public void initiate(){
UploadFile uc = new UploadFile(file);
// Set other informations as well
// add Container to queue
main.getUploadFiles().add(uc);
}
UploadFile是一个包含有关文件,服务器信息等信息的类。
除其他外,我想在上传完成后将url插入数据库中。文件上传后如何执行一些代码?
创建任务时,大概可以在其中完成某项任务
Upload upload = new Upload(uc);
你可以做
upload.setOnSucceeded(e -> {
// this code executed when task is successfully completed
// this is executed on the FX Application Thread, so you can
// safely modify the UI
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句