2011-02-08 110 views
2

我有以下URL映射:urlMapping中和文件擴展名

name a: "https://stackoverflow.com/a/$file" { 
    controller = 'attachment' 
    action = 'get' 
} 

,我想使用這樣的

<g:link mapping="a" params="[file: name]">${name}</g:link> 

可能是:「myfile.pdf 「

問題是,當我到達我的控制器時,Grails刪除了擴展名,所以我得到

params.file = "myfile" 

在哪裏,我想「myfile.pdf」能夠搜索在我的域對象的完整文件名。

我已經嘗試設置

grails.mime.file.extensions = false 

但是如果使用「在withFormat」我所有的控制器不工作。有沒有辦法,我可以找到擴展的價值?

回答

1

我有

grails.mime.file.extensions = true 

,並使用一個映射

"/excursion/$path**" { 
    controller = "excursion" 
    action = "sweet" 
} 

在控制器

def path = params.path 
    if (!FilenameUtils.getExtension(path) && request.format) { 
     path += ".${request.format}" 
    } 
+0

就像一個魅力! – sbglasius 2011-02-09 09:37:34