我有以下网址映射:

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}"
    }

10-06 04:11
查看更多