第三讲说到注解;
这一讲来说一下文件上传;Springmvc文件上传也给 我们封装了一个类即org.springframework.web.multipart.commons.CommonsMultipartResolver
然后要实现 的话;也是一个很简单的过程;我们只需要配置好即可;这里我就把代码类粘贴出来;就不上传项目了 ;因为很简单;而且也不需要记住;
只需要用到的时候来查一下配置即可:
在name-servlet.xm里的配置:
<!-- 对文件的上传 -->
<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="40960" />
</bean>
然后是后台的处理:
package com.tgb.web.controller.anotation.upload;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
@Controller
@RequestMapping("/file")
public class FileUpLoadController {
@RequestMapping("/fileupload")
public String fileupload(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request) {
System.out.println("file -->"+file.getOriginalFilename());
try{
if(!file.isEmpty()) {
FileOutputStream fos = new FileOutputStream("d://hello.jpg");
InputStream is = file.getInputStream();
int b = 0;
while(( b=is.read())!= -1) {
fos.write(b);
}
fos.flush();
fos.close();
is.close();
}
}catch(Exception e) {
e.printStackTrace();
}
return "anotation";
}
@RequestMapping("/upload2")
public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
if(multipartResolver.isMultipart(request)){
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
Iterator<String> iter = multiRequest.getFileNames();
while(iter.hasNext()){
MultipartFile file = multiRequest.getFile((String)iter.next());
if(file != null){
String fileName = file.getOriginalFilename();
String path = "D:/" + fileName;
File localFile = new File(path);
file.transferTo(localFile);
}
}
}
return "anotation";
}
@RequestMapping("file")
public String file(){
return "anotationfile";
}
}