1.导入所需要的jar包
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
2.配置springmvc.xml
<!-- 配置文件长传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxInMemorySize" value="102400"></property>
</bean>
上传jsp代码:
<form action="${pageContext.request.contextPath }/testUpload" enctype="multipart/form-data" method="post" >
选择要上传的文件:<input type="file" name="photo" value="上传文件" ><br>
描述:<input type="text" name="describe">
<input type="submit" value="上传"><br>
</form>
controller代码
//上传练习
@RequestMapping(value="/testUpload",method=RequestMethod.POST)
public String testUpload(HttpServletRequest request,@RequestParam(value="describe")String describe,@RequestParam(value="photo")CommonsMultipartFile file){
System.out.println(describe);
System.out.println(file.getOriginalFilename());
ServletContext scontext=request.getServletContext();
String path=scontext.getRealPath("/pages");
File f=new File(path);
if(!f.exists()){
f.mkdir();
}
OutputStream out;
InputStream in;
//uuid_name.jpg
String prefix = UUID.randomUUID().toString();
prefix = prefix.replace("-","");
String fileName = prefix+"_"+file.getOriginalFilename();
System.out.println(fileName);
try {
out = new FileOutputStream(new File(path+"\\"+fileName));
System.out.println(new File(path+"\\"+fileName).exists());
in = file.getInputStream();
IOUtils.copy(in, out);
out.close();
in.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "redirect:index.jsp";
}
练习中的问题:
1.xml文件中的id一定要有
2.if(!f.exists()){
f.mkdir();
}判断要有
3.保证文件名不同
String prefix = UUID.randomUUID().toString();
prefix = prefix.replace(“-“,”“);
String fileName = prefix+”_”+file.getOriginalFilename();
System.out.println(fileName);

本文介绍如何使用SpringMVC实现文件上传功能,包括所需jar包配置、springmvc.xml设置及上传过程中的关键代码实现。
1330

被折叠的 条评论
为什么被折叠?



