package com.controller;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
@Controller
public class FileUploadController {
@RequestMapping("/fileupload")
public String shangchuan(
@RequestParam(value = "file", required = false) CommonsMultipartFile file,
HttpServletRequest request, ModelMap map) {
String path = request.getRealPath("upload");
String fileName = file.getOriginalFilename();
System.out.println(path + "/" + fileName);
File f = new File(path, fileName);
try {
file.transferTo(f);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("picUrl", "upload/" + fileName);
return "upload.jsp";
}
public static void downLoadFile(HttpServletResponse response, File file) {
if (file == null || !file.exists()) {
return;
}
OutputStream out = null;
try {
response.reset();
response.setContentType("application/octet-stream; charset=utf-8");
response.setHeader("Content-Disposition", "attachment; filename="
+ file.getName());
out = response.getOutputStream();
out.write(FileUtils.readFileToByteArray(file));
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@RequestMapping("download2.do")
public String xiazai(HttpServletRequest request,HttpServletResponse response){
String fileName= request.getRealPath("/upload");
fileName+="/460.gif";
File file=new File(fileName);
downLoadFile(response, file);
return null;
}
}
<form action="fileupload" method="post">
<input type="file" name = "file">
<input type="submit" value="UPLOAD">
</form>