web项目的上传文件

上传文件

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三个步骤可以根据自己的需求做出相应的改变。

你可能感兴趣的:(web项目的上传文件)