在apache commons文件上传中,上传的文件以FileItem对象的形式提供。
如果我使用fileitem.getName()获取此类文件项的名称,它将返回完整路径(例如:C:\Test\test.txt)。
有没有办法只获取文件名。
我真正需要的是使用File.createTempFile()将上传的文件保存为临时文件
但是临时文件的名称和扩展名应该与上传的文件相同,而不是随机的名称(如temp.tmp)
发布于 2011-09-14 14:13:57
尝试什么the docs say
为什么FileItem.getName()返回整个路径,而不仅仅是文件名?
Internet Explorer提供上载文件的完整路径,而不仅仅是基本文件名。由于FileUpload提供的正是客户端(浏览器)提供的内容,因此您可能希望在应用程序中删除此路径信息。您可以使用Commons IO中的以下方法来实现这一点(您已经拥有它,因为它被FileUpload使用)。
String fileName = item.getName();
if (fileName != null) {
fileName = FilenameUtils.getName(fileName);
}https://stackoverflow.com/questions/7411964
复制相似问题