如何在GRAILS控制器中验证服务器端的任何文件上载?

如何在GRAILS控制器中验证服务器端的任何文件上载?,grails,groovy,Grails,Groovy,我在普惠制中的代码: 我的服务代码: 事情发生在ifuserService.fileExt.containsScandResume.getContentType中 正在调用该服务,但未重新启动上载失败的任何内容,且未显示任何消息。请帮忙。 提前谢谢。我可能会这样做: 在控制器中: def userService def candidate = new Candidate(params) def resumeFile = request.getFile('candResume') if

我在普惠制中的代码:

我的服务代码:

事情发生在ifuserService.fileExt.containsScandResume.getContentType中 正在调用该服务,但未重新启动上载失败的任何内容,且未显示任何消息。请帮忙。
提前谢谢。

我可能会这样做:

在控制器中:

def userService
def candidate = new Candidate(params)
  def resumeFile = request.getFile('candResume')

  if (userService.allowedExtension(resumeFile)) {
    blablabla
在职:

Class UserService {

  def allowedExtension (aFile) {
    List fileExtensions=["doc", "docx", "pdf", "rtf"]
    println "--------in the service----------"
    def extension = aFile?.originalFilename?.substring(aFile?.originalFilename?.lastIndexOf(".") + 1);
    return fileExtensions.contains(extension); // if you rely on the actual file name
  }
}

我建议您使用mimetype而不是扩展名文件

在这里,您可以找到如何使用Tika获取文件的mimetype:

public List fileExt(){
        List fileExtensions=["doc", "docx", "pdf", "rtf"]
        println "--------in the service----------"
        return fileExtensions
    }
def userService
def candidate = new Candidate(params)
  def resumeFile = request.getFile('candResume')

  if (userService.allowedExtension(resumeFile)) {
    blablabla
Class UserService {

  def allowedExtension (aFile) {
    List fileExtensions=["doc", "docx", "pdf", "rtf"]
    println "--------in the service----------"
    def extension = aFile?.originalFilename?.substring(aFile?.originalFilename?.lastIndexOf(".") + 1);
    return fileExtensions.contains(extension); // if you rely on the actual file name
  }
}