protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response,
Object command,
BindException errors)
throws Exception {
try
{
// cast the bean
String typeId = request.getParameter("typeId");
//CommonDataImpl是一个javaBean
CommonDataImplbean = (CommonDataImpl) command;
MultipartFile file = bean.getFile();
if (file == null){
throw new Exception("上传失败:文件为�空!");
}
if(file.getSize()>104857600){
throw new Exception("上传失败:文件大小不能超过100M");
}
//得到upload文件�名
String filename=file.getOriginalFilename();
//取得后缀名
String ext = filename.substring(filename.lastIndexOf("."));
//设置服务器相对存储路径
String localSavePath = "data/uploadFile/res/wx/";
//设置存储路径
String filePath=this.getServletContext().getRealPath("/")+localSavePath;
//取得用户定义的文件名
String name = request.getParameter("name");
if(file.getSize()>0){
try {
if(StringUtils.isEmpty(name)){
SaveFileFromInputStream(file.getInputStream(),filePath,filename);
}else{
filename = name + ext;
SaveFileFromInputStream(file.getInputStream(),filePath,filename);
}
} catch (IOException e) {
System.out.println(e.getMessage());
return null;
}
}else{
throw new Exception("上传失败:上传文件不能为�空");
}
// well, let's do nothing with the bean for now and return:
try {
return super.onSubmit(request, response, command, errors);
} catch (Exception e) {
System.out.println(e.getMessage());
return null;
}
}catch(Exception ex){
System.out.println(ex.getMessage());
return null;
}
}
public void SaveFileFromInputStream(InputStream stream,String path,String filename) throws IOException
{
FileOutputStream fs=new FileOutputStream( path + "/"+ filename);
byte[] buffer =new byte[1024*1024];
int bytesum = 0;
int byteread = 0;
while ((byteread=stream.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
fs.flush();
}
fs.close();
stream.close();
}