gpt4 book ai didi

grails - 如何在Grails 3应用程序中在运行时将图像保存在资源文件夹中?

转载 作者:行者123 更新时间:2023-12-02 15:44:35 25 4
gpt4 key购买 nike

在我的grails应用程序中,我需要在 View 中上传并成像并渲染同一图像。
我可以通过以下代码仅将图像文件上传到src / main / webapp目录中:

def webrootDir = servletContext.getRealPath("/") //app directory
String imageDestination = webrootDir + params.id;
if(image){
File uploadedImage = new File(webrootDir,"${params.id}");
println "uploadedImage = ${uploadedImage.getAbsoluteFile()}"
if(uploadedImage?.exists()){
uploadedImage.delete()
}
image.transferTo(uploadedImage);}

但是我无法从 <img>标记中的该位置渲染图像。
上传时是否有任何方法可以将文件放置在 Assets 目录中,还是可以从src / main / webapp目录中进行渲染?
请帮忙。

最佳答案

我会在您应用之外的位置上传并提供这些图像。例如,将图像上传到S3(或类似文件)并使其可公开访问,以便您仍可以在应用程序中引用它们。跟踪数据库中的图像URL或使用允许您在应用程序中构建图像URL的约定。

您还可以使用服务器上的目录来存储图像,然后以某种方式使它们可公开访问。您可以serve them via Tomcat using a different context或使用Apache将请求定向到您的应用程序或直接提供图像。

希望有道理。

关于grails - 如何在Grails 3应用程序中在运行时将图像保存在资源文件夹中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50492917/

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