如何在play scala项目中查看本地目录中的图像
How to view images from local directories in play scala project
我是 Play scala framework
的新手,在我的项目中我有 uploading
image
和 showing
上传图片到 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">
我是 Play scala framework
的新手,在我的项目中我有 uploading
image
和 showing
上传图片到 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">