spring 文件上传及静态资源的访问

文件上传时会以multipart的形式上传,表单中每一部分都单独作为一个part,每个输入域对应一个part。spring处理此类型的数据时需要配置一个multipart解析器,告诉dispatcherServlet如何读取multipart请求。dispatcherServlet将此功能委托给了multipartResolver策略接口实现。spring3.1开始提供了两个解析器:CommonsMultipartResolver(适用于servlet3.0及以后版本),StandarServletMultipartResolver(使用servlet提供的功能,不依赖其他项目,始于spring3.1)。我们需要在web.xml或servlet初始化部分将multipart的具体细节作为dispatcherServlet的一部分。表单中需要指定enctype="multipart/form-data"

此处使用CommonsMultipartResolver,需要导入jar包commons-fileupload-1.2.2.jar、commons-io-2.2.jar

示例代码:

xml中配置multipart解析器

页面指定提交数据的方式:method="post", enctype="multipart/form-data"

控制器处理具体事物:

通过控制器跳转到祖册页面;

MultipartFile:图片文件对象(此处上传的图片)

FileUtils.copyInputStreamToFile(mf.getInputStream(), file);第一个参数为图片对象的文件名,第二个为指定的存储路径

千万不要配置错误名字:报错The current request is not a multipart request。找了好长时间才发现

 

静态资源访问:

springmvc3.0中请求静态资源如js、css、图片需要在web.xml中配置default-servlet mapping,使用tomcat默认的映射路径,绕开springmvc控制器。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值