java中的文件扩展名异常处理
我想在上传文件时排除执行扩展文件Ex:exe,java,。。。 我写的条件,但在那之后Idk如何做捕捉的事情与它! 我想在上传文件时显示一条警告消息。我能做些什么吗java中的文件扩展名异常处理,java,exception,Java,Exception,我想在上传文件时排除执行扩展文件Ex:exe,java,。。。 我写的条件,但在那之后Idk如何做捕捉的事情与它! 我想在上传文件时显示一条警告消息。我能做些什么吗 @Component("fileUtils") public class FileUtil { String filePath = "/Dev/file/"; String imgPath = "/Dec/img/"; //create file public void parseInsertFileInfo(HttpServle
@Component("fileUtils")
public class FileUtil {
String filePath = "/Dev/file/";
String imgPath = "/Dec/img/";
//create file
public void parseInsertFileInfo(HttpServletRequest request, FileInfoVo boardEntity) throws Exception{
MultipartHttpServletRequest mServletRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = mServletRequest.getFileNames();
MultipartFile mFile = null;
String orgFilename = null;
String filename = null;
String orgFileExtension = null;
String sysFilename = null;
int boardIdx = 1;
//make dir when there is no dir
File file = new File(filePath);
if(!file.exists()){
file.mkdirs();
}
while(iterator.hasNext()){
mFile = mServletRequest.getFile(iterator.next());
if(!mFile.isEmpty()){
orgFilename = mFile.getOriginalFilename();
orgFileExtension = orgFilename.substring(orgFilename.lastIndexOf(".")); //.ext
filename = orgFilename.substring(0, orgFilename.lastIndexOf(".")); //file name
SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_hhmmss");
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia"));
sysFilename = filename + sdf.format(calendar.getTime()) + orgFileExtension; // sysFilename : filename + time(h,m,s) + .ext
String execExt = "#.exe#.zip#.java#";
String imgExt = "#.jpg#.jpeg#";
if(execExt.contains(orgFileExtension)){
} else if(imgExt.contains(orgFileExtension)){
filePath = "/Dev/img/";
file = new File(filePath + sysFilename);
mFile.transferTo(file);
} else{
filePath = "/Dev/file/";
file = new File(filePath + sysFilename);
mFile.transferTo(file);
}
}
}
}
您不需要抛出并捕获该异常。 确定扩展名是否在字符串中的方法应该有效,另一种方法是正则表达式 像这样试试吧,我想List.do是你想发回的
String execExt = "#.exe#.zip#.java#";
//orgFileExtension is a variable which contains extension name(".txt",".jpg",...)
if(execExt.contains(orgFileExtension)){
sendRedirect("List.do");
}
您的问题不清楚…您可以使用正则表达式排除某些文件…无论如何,请检查此项,如果只是在捕获重定向后才抛出异常,为什么要抛出异常?只需直接重定向,无需尝试/捕获抱歉英语不是我的第一语言,因此我的解释不清楚。我只是想排除一些文件扩展名。我知道有一种方法可以用javascript实现,但我有一个制作文件的类,所以我想我可以在这里实现。也许我会添加更多的代码!