JFINAL 上传下载文件

1.下载本地文件

JFinal 的 render系列方法,在调用以后,仅仅先 new 了一个 XxxRender对象并保存在 Controller 内部,当执行 index()方法以后,会再次调用另一个 render方法,本次调用会覆盖掉前面 renderFile 时创建的对象。

public void download(){

  FileInfo info = FileInfo.dao.findById(getParaToInt());

  File file = new File(info.getStr("url")+info.getStr("name"));

  if(file.exists()) {

  renderFile(file);

    return ;  // 关键在这里,要有 return; 否则 index()方法会被执行

  }

  index();


}
2.下载远程文件

参考FileRender做个 HttpFileRender类,然后在Controller 中这样:


render(new HttpFileRender("http://www.jfinal.com/jfinal.txt"));

    JFinal 考虑在下一版本中将这个功能做进去,接口形式可能如下:


Controller.render(Url url);

3.上传文件

public void upload() {

// 上传代码

 new FileInfo().set("name", getFile().getFileName()).set("url", getFile().getSaveDirectory()).save();

 index();

 }



你可能感兴趣的:(JFINAL 上传下载文件)