MultipartFile.getOriginalFilename()方法在IE浏览器下返回结果文件名不正确

1.bootstrap用form表单写文件上传的时候,出现文件名获取不到。

//原代码是这样的
String filename = file.getOriginalFilename();

谷歌,火狐浏览器上传都能直接获取文件名,唯独IE不行

2.解决办法:

类:FileUtils

   //在获取文件名后,判断是否在IE环境下运行的此方法,并做相应的字符串截取的处理,即可返回正确的结果。
    public static String getFileName(MultipartFile file) {
		 String fileName = file.getOriginalFilename();
		 //检查unix样式的路径
	     int unixSep = fileName.lastIndexOf('/');
	     //检查windows样式的路径
	     int winSep = fileName.lastIndexOf('\\');
	     //在最可能的点被切断
	     int pos = (winSep > unixSep ? winSep : unixSep);
	     if (pos != -1)  {
	    	  //找到的任何路径分隔符。
	    	  fileName = fileName.substring(pos + 1);
	     }
	     return fileName;
   }


    在你的service层调用这个方法,IE浏览器获取文件名就是正确的~~~~~

如果文章有用,麻烦点个赞,给个评论,谢谢。

你可能感兴趣的:(后端)