我正在使用一个将文件作为 CommonsMultipartFile 上传的插件。上传工作正常,但我正在尝试使用另一个插件来读取文件头(mp3 头),但它不会使用 CommonsMultipartFile,只需要常规文件。有没有办法将 CommonsMultipartFile 转换为文件或进行其他一些工作。我尝试从上传文件的位置复制文件,但它似乎不起作用。这是我到目前为止所拥有的:
if (request instanceof MultipartHttpServletRequest) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
CommonsMultipartFile file = (CommonsMultipartFile)multiRequest.getFile("files");
moveFile(file)
}
private moveFile(CommonsMultipartFile file){
def userId = getUserId()
def userGuid = SecUser.get(userId.id).uid
def webRootDir = servletContext.getRealPath("/")
def userDir = new File(webRootDir, "/myUsers/${userGuid}/music")
userDir.mkdirs()
file.transferTo( new File( userDir,file.originalFilename))
def myFile = new File( "/myUsers/${userGuid}/music/" + file.originalFilename)
AudioFile audioFile = AudioFileIO.read(file);
//AudioFile is expecting a file, not a CommonsMultipartFile
}
但是,当我这样做时,我收到此错误:
groovy.lang.MissingMethodException:没有方法签名:静态 org.jaudiotagger.audio.AudioFileIO.read() 适用于参数类型:(org.springframework.web.multipart.commons.CommonsMultipartFile) 值:[org.springframework.web .multipart.commons.CommonsMultipartFile@10a531]
谢谢杰森