代码之家  ›  专栏  ›  技术社区  ›  Manoj

如何在playscala项目中查看本地目录中的图像

  •  2
  • Manoj  · 技术社区  · 9 年前

    我是新手 Play scala framework ,在我的项目中,我有 uploading image showing 上载的图像 view 页我已存储 uploaded images 进入我的系统 local 文件夹并传递图像 path 进入我的 看法 页面,但它不显示图像。 我已通过图像存储位置 路径 imagepath 并使用以下代码查看图像。

    <img src=@routes.Assets.at(imagepath) class="responsive" >
    

    注: 如果我将图像存储在 projectname/public/images 项目 directory 图像显示在视图页面中。请帮我解决这个问题。

    1 回复  |  直到 9 年前
        1
  •  2
  •   Community George Mulligan    7 年前

    你需要自己实施一项行动。正如我在 Play Framework: Handling dynamic created files (images) in PRODUCTION mode

    以下是步骤 首先在routes文件中添加如下内容:

    GET /user/images/:name controllers.Application.imageAt(name:String)
    

    并在操作imageAt中编写一个简单的文件读取器,以流的形式返回文件。同样,我的示例是Java的,但您应该使用Scala归档

        File imageFile = new File(ReportFileHelper.getImagePath());
        if (imageFile.exists()) {
        //resource type such as image+png, image+jpg
            String resourceType = "image+"+imageName.substring(imageName.length()-3);
            return ok(new FileInputStream(imageFile)).as(resourceType);
        } else {
            return notFound(imageFile.getAbsoluteFile());
        }
    

    之后,可以通过反向路由器访问图像:

     <img src=@routes.Application.imageAt(imageName)>
    

    或直接通过url

     <img src="/user/images/imageName">