gpt4 book ai didi

html - Playframework:更改时 Assets 不会在生产模式下更新

转载 作者:可可西里 更新时间:2023-11-01 13:06:39 25 4
gpt4 key购买 nike

我使用 playframework 2.x 创建了一个移动 html5 网站。用户可以通过该应用程序上传图像,然后将这些图像存储在运行该应用程序的服务器上。

图像存储在 public/images 中并像这样访问:@routes.Assets.at(images/images1.jpg)

我的问题是,每当用户将图像上传到我的服务器,然后试图查看上传的图像时,图像无法显示。

我发现每当我在服务器上重新启动 Play 过程时,新上传的图像就会正确显示。我通常这样启动我的生产服务器:

activator dist

然后解压缩创建的 zip 目录并运行生成的脚本。

我认为问题是当应用打包时,它只会打包 assets.jar 中当时可用的 Assets ,因此无法显示在服务器启动后添加的新图像。


所以我的问题是,我需要更改什么才能正确显示在服务器运行时更​​改或添加的图像,而无需重新打包和重新启动应用程序。


我的路线文件

# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~

# Home page
GET / controllers.Application.index

# Used in Javascript to push new User into Database via Ajax
PUT /users/:i controllers.Userdata.addUser(i: Int)

... similiar PUT Requests ...

PUT /deactUser/:i controllers.Userdata.deactUser(i: Int)

GET /reloadUsers controllers.Userdata.reloadUsers(minA: Int, maxA: Int, gend: String, orient: String, verf: String)

GET /ads controllers.Application.getAds()

# Javascript Router
GET /assets/javascripts/routes controllers.Application.javascriptRoutes()

# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)

最佳答案

创建 dist 包后,可以从创建的 *.jar 文件访问 public 文件夹,因此您需要重新 dist 您的应用程序以使上传的文件在其中可用。

相反,您应该在文件系统中创建一些目录并定义其路径(最好通过配置文件),这样您就可以上传文件并将它们提供给/从独立 位置。当然,您还需要编写自定义操作来为它们提供服务,但这只是几行代码。

关于html - Playframework:更改时 Assets 不会在生产模式下更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32155918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com