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

How to view images from local directories in play scala project

我是 Play scala framework 的新手,在我的项目中我有 uploading imageshowing 上传图片到 view page.I 已将 uploaded images 存储到我系统的 local 文件夹中,并将图像 path 传递到我的 view 页面,但它不显示图像。 我已将图像存储位置 path 传递为 imagepath 并使用以下代码查看图像。

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

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

您需要自己执行一个动作。正如我在 Play Framework: Handling dynamic created files (images) in PRODUCTION mode

中的回答

步骤如下 首先在你的路由文件中,添加如下内容:

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

并在动作图像中写入一个简单的文件reader,其中return 流中的文件。同样,我的样本在 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">