第一种方法
public String doEdit( BrandVO brandVO,@RequestParam(value="pic")MultipartFile file) throws IllegalStateException, IOException{
//CurrentUser user = CurrentUser.getInstance();
if(brandVO.getBrandid()!=null){//修改
brandVO.setChangetime(new Date());//最后修改时间(取当前系统时间)
String oddname=brandVO.getBrandpic();
if(oddname!=null){
new File("F:/client/images/"+oddname).delete();//删除原先的图片
}
String orgname=file.getOriginalFilename();
String savename=UUID.randomUUID()+orgname.substring(orgname.lastIndexOf("."));//保存图片的名字唯一
String savepath="F:/client/images/"+savename;
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(savepath));//图片存放位置
file.transferTo(new File(savepath));
brandVO.setBrandpic(savename);
service.update(brandVO);
}else{//新增
brandVO.setCreatetime(new Date());//取创建时的时间
brandVO.setChangetime(new Date());//最后修改时间(取当前系统时间)
String orgname=file.getOriginalFilename();
String savename=UUID.randomUUID()+orgname.substring(orgname.lastIndexOf("."));//保存图片的名字唯一
String savepath="F:/client/images/"+savename;
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(savepath));//图片存放位置
file.transferTo(new File(savepath));
brandVO.setBrandpic(savename);
service.add(brandVO);
}
return "redirect:/brand/list.action";//跳转到列表页面
}
第二种方法
DiskFileItemFactory factory=new DiskFileItemFactory();//获得磁盘文件条目工厂
factory.setRepository(new File(savename));
factory.setSizeThreshold(1024*1024);
ServletFileUpload upload=new ServletFileUpload(factory);
OutputStream out=new FileOutputStream(new File("F:/client/images/",savename));
InputStream ins=file.getInputStream();
int len=0;
byte[] buf=new byte[1024];
while( (len = ins.read(buf) ) != -1){
out.write(buf, 0, len);
}
ins.close();
out.close();