上传文件
1.在springMVC.xml文件中需要配置上传下载
<!-- 上传下载 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--配置上传文件 -->
<property name="defaultEncoding" value="utf-8" /><!--默认字符编码 -->
<property name="maxUploadSize" value="10485760000" /><!--上传文件大小 -->
<property name="maxInMemorySize" value="4096" /><!--内存中的缓存大小 -->
</bean>
2.在jsp页面中表单需要添加一个属性(enctype)
<form action="<%=basePath%>user2Controller/uploads.do" method="post" enctype="multipart/form-data">
3.需要一个input框(type=“file”)
<tr>
<td>上传文件:</td>
<td><input type="file" name="fileName"></td>
</tr>
4.在后端获取传过来的文件
1.转化request为:MultipartHttpServletRequest
// 1:转化request为:MultipartHttpServletRequest
MultipartHttpServletRequest mhsRequest = (MultipartHttpServletRequest) request;
2.获取上传文件
// 2:获取上传文件
CommonsMultipartFile cmFlie = (CommonsMultipartFile) mhsRequest.getFile("fileName");
3.获取上传文件的:字节数组
byte[] byteNum = cmFlie.getBytes();
4.获取文件的后缀名
String oldFliename = cmFlie.getOriginalFilename();
String suffix = oldFliename.substring(oldFliename.lastIndexOf("."));
5.获取当前时间,并格式化文件名称
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HHmmssSSS");
String filename = sdf.format(date);
6.存储图片的物理路径
String upload = "C:\\workpace2\\SSM_04\\src\\main\\webapp\\img\\";
String url = upload + filename + suffix;
7.存储到路径
OutputStream os;
try {
os = new FileOutputStream(url);
os.write(byteNum);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
至此,文件的上传就完成了,其中,4.5.6三个步骤可以根据自己的需求做出相应的改变。