关于一个文件下载时重命名问题。

发布于 2021-11-29 09:47:02 字数 358 浏览 421 评论 3

@JFinal 你好,想跟你请教个问题:

    就是我最近想实现一个功能,就是关于下载重命名的。
    我上传文件时,是把文件以时间戳命名存放。然后在数据库里有2个字段进行存放,一个是时间戳名,一个是上传时的文件名,我准备下载的文件名把它再还原成上传时的文件名。
    我目前的想法是,new一个File,然后进行renameTo,再用renderFile,但是感觉这样效率好低,还有别的方法吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

醉酒的小男人 2021-11-30 15:48:57

引用来自“JFinal”的评论

    这个是 jfinal 2.3 中添加的功能,目前你可以用一个自定义的 MyFileRender 来做一下,大致代码是:

public class MyFileRender extends FileRender {
  private newFileName = null;
  public MyFileRender(String file, Striing newFileName) {
    super(file);
    this.newFileName = newFileName;
  }
  
  public void render() {
    // 改一下如下这行代码
    // response.setHeader("Content-disposition", "attachment; filename=" + encodeFileName(file.getName()));
    // 当 newFile != null 时,使用新的文件名即可
  }
}

   使用的时候这样用:

render(new MyFileRender(file, newFileName));
屌丝范 2021-11-30 12:55:13

引用来自“JFinal”的评论

    这个是 jfinal 2.3 中添加的功能,目前你可以用一个自定义的 MyFileRender 来做一下,大致代码是:

public class MyFileRender extends FileRender {
  private newFileName = null;
  public MyFileRender(String file, Striing newFileName) {
    super(file);
    this.newFileName = newFileName;
  }
  
  public void render() {
    // 改一下如下这行代码
    // response.setHeader("Content-disposition", "attachment; filename=" + encodeFileName(file.getName()));
    // 当 newFile != null 时,使用新的文件名即可
  }
}

   使用的时候这样用:

render(new MyFileRender(file, newFileName));
冬天旳寂寞 2021-11-30 05:31:58

    这个是 jfinal 2.3 中添加的功能,目前你可以用一个自定义的 MyFileRender 来做一下,大致代码是:

public class MyFileRender extends FileRender {
  private newFileName = null;
  public MyFileRender(String file, Striing newFileName) {
    super(file);
    this.newFileName = newFileName;
  }
  
  public void render() {
    // 改一下如下这行代码
    // response.setHeader("Content-disposition", "attachment; filename=" + encodeFileName(file.getName()));
    // 当 newFile != null 时,使用新的文件名即可
  }
}

   使用的时候这样用:

render(new MyFileRender(file, newFileName));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文