我有以下网址映射:
name a: "/a/$file" {
controller = 'attachment'
action = 'get'
}
我想这样使用
<g:link mapping="a" params="[file: name]">${name}</g:link>
其中名称可以是:“myfile.pdf”
问题是,当我到达 Controller 时,Grails剥离了扩展名,因此我得到了
params.file = "myfile"
我希望“myfile.pdf”能够在我的域对象中搜索完整的文件名。
我试图设定
grails.mime.file.extensions = false
但是然后所有使用“withFormat”的 Controller 都无法正常工作。有什么办法可以找到扩展的值(value)?
最佳答案
我有
grails.mime.file.extensions = true
并使用下一个映射
"/excursion/$path**" {
controller = "excursion"
action = "sweet"
}
在 Controller 中
def path = params.path
if (!FilenameUtils.getExtension(path) && request.format) {
path += ".${request.format}"
}