【问题标题】:play framework downloading file播放框架下载文件
【发布时间】:2012-04-19 14:54:03
【问题描述】:

我是游戏框架的新手,我想通过以下方式下载文件:

  • 从数据库中获取了文件路径。
  • 点击路径应该会打开一个 web 表单中的文件。

是否可以在游戏框架中做?如果可以,请给我一些想法..

谢谢

【问题讨论】:

    标签: playframework playframework-1.x


    【解决方案1】:

    使用播放控制器可以轻松下载文件,如下所示,

    public Result downloadFile(){
        File fileToDownload = new File("/path/fileToDownload.pdf"):
    
        response().setContentType("application/x-download");
        response().setHeader("Content-disposition", "attachment; filename=fileToDownload.pdf");
    
        return ok(fileToDownload);
    }
    

    Scala 方式

    def downloadFile = Action {
      Ok.sendFile(
      content = new java.io.File("/path/fileToDownload.pdf"),
      fileName = _ => "fileToDownload.pdf"
      )
    }
    

    【讨论】:

      【解决方案2】:

      如果您指的是服务器上的文件路径,那么这很简单。只需使用renderBinary 方法。这可以采用输入流或 File 对象,所以 ...

      renderBinary(new File(filepath));
      

      应该可以解决问题。

      【讨论】:

        【解决方案3】:

        一个例子

        在 JPA 模型中

        @Lob
        @Column(name="NY_FILE",length=100000, nullable=false)
        private byte[] myFile;
        
        @Column(name="MIME_TYPE", nullable=false)
        private String mimeType;
        

        控制器

        @play.db.jpa.Transactional(readOnly=true)
        public Result download(Long id){
            myPOJO = arquivo.findByid(JPAapi.em(), id);
            return ok(MyPOJO.getMyFile()).as(myPOJO.getMimeType());
        }
        

        路由文件

        GET     /download/:id   @controllers.MyController.download(id:Long)
        

        HTML 链接

        <a id="linkDownload" href="/download/@myPOJO.getMyFile.getId" target="_blank">
           @myPOJO.getMyFile.getName
        </a>
        

        【讨论】:

          【解决方案4】:
          File file = new File("file pathfr");
          return ok(file);
          

          【讨论】:

          • 请考虑在您的解决方案中添加某种解释,这样每个人都可以向您学习!
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多