前台页面:
<form id="tplForm" method="post" action="../xxxxx/addCategory.do" enctype="multipart/form-data">
<input class="input_text" style="border:1px solid #DFDFDF;" type="text" id="fname" name="fname" />
<input class="" type="button" value="选择文件" onclick="filedata.click()"/>
<input class="input_file" size="30" type="file" name="filedata" id="filedata" onchange="fname.value=this.value" />
</form>
后台代码:
1.dispatcher-servlet.xml配置:
<!-- 上传 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:maxUploadSize="104857600" p:defaultEncoding="utf-8"/>
2.java代码:
package com.xxxxxx.xxxxxx.xxxxxxxxx.controller;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.ModelAndView;
import com.xxxx.xxxxx.templates.service.TemplateService;
@Controller
public class TradepageManagercontroller {
@Autowired
TemplateService templateService;
@Autowired
CommonsMultipartResolver multipartResolver;
@RequestMapping(value = "/xxxxx/xxxxxx.do", method = RequestMethod.POST)
public String addCategory(HttpServletRequest request){
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
if (multipartResolver.isMultipart(multipartRequest)){ //判断 request 是否有文件上传,即多部分请求...
// srcfname 是指 文件上传标签的 name=值
MultiValueMap<String, MultipartFile> multfiles = multipartRequest.getMultiFileMap();
for(String srcfname:multfiles.keySet()){
MultipartFile mfile = multfiles.getFirst(srcfname);
try {
mfile.transferTo(new File("d:"+File.separator+"upload_temp"+File.separator+mfile.getOriginalFilename()));
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return "xx/xxxxxx";
}
}
【转载】http://www.itkee.com/developer/detail-2a2e.html
【相似资料】http://zhupan.iteye.com/blog/26427