我的Grails应用程序已成功上传,然后使用以下代码解析 MultipartFile :
def file = request.getFile('rawReport')
def report = new XmlSlurper().parse(file.inputStream)
我的问题:我需要原始文件的路径('rawReport'),可以在Debugger的“Expression”视图中看到路径信息,但找不到会返回的方法文件的路径,因为我需要它。
我发现了大量“我想要的方法”here,但它们都是简单的文件,而不是MultipartFiles。当我为MultipartFiles here找到“getStorageDescription”时,我感到一阵希望,但是当它回到“记忆中”时,这种希望破灭了(字面意思是......有什么好处?!)
这令人沮丧,因为我可以看到我可以在调试器中使用的部分... STS表达式视图:名称:文件 - >存储库 - >路径“\\ home $ \ Happiness \ Awaits \ You \ Here ...”
任何帮助都将非常感激。
答案 0 :(得分:1)
一般来说,getOriginalFilename()
方法的Javadoc中没有提供它:http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/multipart/commons/CommonsMultipartFile.html#getOriginalFilename%28%29
我猜这是一个安全问题。我发现它对我而言就像Firefox和Chrome所描述的那样,甚至Opera也没有包含完整的路径。因此,即使您可以在本地获取信息,您也无法相信通常可以获得完整路径。
您可能会寻找不受浏览器限制约束的基于Flash的上传器。