前台使用的是jquery的jquery.uploadify-v2.1.0插件,使用ajax。使用代码如下:
- XML/HTML代码
-
- jQuery("#uploadify").uploadify({
- 'script' : '../imageUpload/upload/' + $("#sortId").val() + '.json',
这句话就是将请求发送到对应的uploadcontroller中,sortId是表示文件所属分类。
看下SpringMVC的使用方法:
在配置文件中添加如下配置:该文件即是SpringMVC对应的DispatcherServlet配置文件
- XML/HTML代码
-
-
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
-
<property name="defaultEncoding" value="utf-8"></property>
-
</bean>
一开始使用如下的方法上传:
- Java代码
-
-
@RequestMapping(method = RequestMethod.POST, params = "action=upload")
-
public String upload(ModelMap model, MultipartFile uploadify,BindingResult result) {
-
- }
结果报错了:
org.springframework.beans.BeanInstantiationException: Could not instantiate bean class
[org.springframework.web.multipart.MultipartFile]: Specified class is an interface
无法实例化,不知道是什么原因,对Spring不太熟悉,只能尝试用其他方式来实现了。
后来改成下面这种实现了:
- Java代码
-
-
@RequestMapping(value = "/upload" + SORTID_BINDER_PATH, method = RequestMethod.POST)
-
public void upload(HttpServletRequest request, HttpServletResponse response, @PathVariable java.lang.Integer sortId) {
-
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
-
commonsMultipartResolver.setDefaultEncoding("utf-8");
-
-
if (commonsMultipartResolver.isMultipart(request)) {
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- Iterator<String> iter = multipartRequest.getFileNames();
-
while (iter.hasNext()) {
- MultipartFile file = multipartRequest.getFile((String) iter.next());
-
if (file != null) {
-
String fileName = "";
-
fileName = sdf.format(new Date()) + "_" + file.getOriginalFilename();
- String path = filePath + fileName;
- uploadPath += fileName;
-
-
File localFile = new File(path);
- file.transferTo(localFile);
- }
- }
- }
希望大家有好的方法提出来,一起学习。
本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/963471,如需转载请自行联系原作者
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。