首先加入必须的依赖
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
jsp页面
<!--有文件提交加enctype属性,没有一定不要加-->
<form method="post" enctype="multipart/form-data" action="${pageContext.request.contextPath}/file/upload.do">
文件:<input type="file" name="file1"><br/>
描述:<input type="text" name="desc"><br/>
<input type="submit" name="提交">
</form>
<a href="">下载</a>
mvc.xml文件
<!--上传文件-->
<mvc:annotation-driven/>
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--设置最大上传文件
单位字节
1m=1024kb 1kb = 1024b
-->
<property name="maxUploadSize" value="10485760"></property>
</bean>
<context:component-scan base-package="com.controller"/>
java代码
@RequestMapping("upload")
public String upload(MultipartFile file1,String desc)throws IOException {
//transferTo方法作用:将接受的文件复制到服务器上,参数是复制后的位置
//getOriginalFileName 方法作用:获取接收文件的源文件名
file1.transferTo(new File("F:\fuwuqi\",file1.getOriginalFilename()));
return "redirect:/success.jsp";
}
@RequestMapping("download")
public void down(HttpServletResponse response) throws IOException{
//读取下载的文件
FileInputStream fi = new FileInputStream("F:\fuwuqi\2.jpg");
//获取给浏览器响应的输出流
//content-disposition(内容展示定位)
//attachment(附件)
response.setHeader("content-disposition","attachment;filename=2.jpg");
OutputStream fos = response.getOutputStream();
while(true){
int b =fi.read();
if(b==-1)break;
fos.write(b);
}
fos.close();
fi.close();
}